=========================
 pyutilib.pyro CHANGELOG
=========================

-------------------------------------------------------------------------------
 Version 3.7
-------------------------------------------------------------------------------

- Under development.

-------------------------------------------------------------------------------
 Version 3.6.1
-------------------------------------------------------------------------------

- Fixing the dispatcher: the num_results and num_tasks functions were broken
  when task != None was given.

-------------------------------------------------------------------------------
 Version 3.6
-------------------------------------------------------------------------------

- Increasing number of retries when client connection to name server fails.

- Adding catch of ConnectionDenied exception when attempting (from
  a client) to connect to name server. This is invoked when the
  name server is swamped, which can occur if there are a lot of
  clients being brought up at once. Integrated into the time-out
  and re-try logic.

- Modifying pyutilib.pyro Worker object to not transmit back results
  from tasks with generateResponse set to False.

- Adding generateResponse field to pyutilib.pyro Task object. Not
  all tasks request a response, and many responses are simply
  'acknowledge' type responses - which can swamp bandwidth, and are
  often safely ignored.

- Fixing race condition in dispatcher. The number of (named) queues
  is dynamic, and this can result in dictionary sizes changes during
  iteration if one is not careful.

- Added method to Pyro dispatcher and corresponding client to get
  all results from all queues.

- Adding missing initialization of attribute to pyro Client class.

-------------------------------------------------------------------------------
 Version 3.5.3
-------------------------------------------------------------------------------

- py3k portability fixes.

- pypy portability fixes.

-------------------------------------------------------------------------------
 Version 3.5.2
-------------------------------------------------------------------------------

- Bug fixes in exception management and printing.

-------------------------------------------------------------------------------
 Version 3.5.1
-------------------------------------------------------------------------------

- Portability fixes for Python 3.x

-------------------------------------------------------------------------------
 Version 3.5
-------------------------------------------------------------------------------

- Increasing client time-out / num-tries when attempting to locate
  a dispatcher.

- Modifying get_nameserver to place it in a re-try loop. When
  spawning parallel jobs, the timing can be off.

- Making workers more robust to transient/start-up failures to
  access the dispatch server.

- Increasing the maximum number of connections allowed by a dispatcher,
  to allow for more robustness on clusters.

- Also improved the error detection / recovery logic in cases when
  Pyro declares that the server is "too busy".

- Adding a time lag between a worker results submission and task
  query - to minimize the pressure on the dispatch server.

-------------------------------------------------------------------------------
 Version 3.4
-------------------------------------------------------------------------------

- Fixing numerous bugs / issues in pyro, relating primarily to the use of
  non-default queues.

- Wrapping dispatcher locator logic in a try-repeat loop, with a maximum
  number of tries equal to 5 and a per-try sleep of one second. This
  prevents issues with launching large MPI jobs.

- Enabling condition import of Pyro sub-packages.

-------------------------------------------------------------------------------
 Version 3.3
-------------------------------------------------------------------------------

- Added verbosity flag for task submission method, to allow for optional
  supression of output relating to queuing and task ids.

- Reformatting with reindent

-------------------------------------------------------------------------------
 Version 3.2.1
-------------------------------------------------------------------------------

- Use entry points to install scripts to ensure portability.

-------------------------------------------------------------------------------
 Version 3.2
-------------------------------------------------------------------------------

- Added "shutdown" method to dispatcher, to aid cluster cleanup.

- Modified pyro workers to more gracefully trap when a connection to
  its dispatch server is lost.

- Misc typo fixes in messages.

-------------------------------------------------------------------------------
 Version 3.1.3
-------------------------------------------------------------------------------

- Update to package README files to point to the new PyUtilib mailing lists.

-------------------------------------------------------------------------------
 Version 3.1.2
-------------------------------------------------------------------------------

- Importing cPickle to improve performance.

-------------------------------------------------------------------------------
 Version 3.1
-------------------------------------------------------------------------------

- Revised output to clarify the actions that are executed.

- Added dispatch_srvr.cmd

- The Pyro (pyutilib) client has been changed to throw a RuntimeError if a 
  connection to the nameserver cannot be established.

-------------------------------------------------------------------------------
 Version 3.0
-------------------------------------------------------------------------------

- Initial release PyUtilib to create the pyutilib.pyro package.

- See pyutilib.dist for previous ChangeLog information related to PyUtilib.

