=================================
CHANGES FROM VERSION 1.7.1: SimPy
=================================

:Authors: - Tony Vignaux <Vignaux@users.sourceforge.net>
          - Klaus Muller <Muller@users.sourceforge.net>
:SimPy version: 1.8
:SimPy Web-site: http://simpy.sourceforge.net/
:SimPy wiki: http://www.mcs.vuw.ac.nz/cgi-bin/wiki/SimPy
:Python-Version: 2.3+
:Revision: $Revision: 1.1.1.12 $
:Date: $Date: 2007/01/09 16:19:22 $

This document addresses the difference between SimPy versions
1.7.1 and version 1.8 in terms of changes and additions.

Changes
=========

- SimPy 1.8 and future releases will not run under the obsolete 
  Python 2.2 version.
  
- The Manual has been thoroughly edited, restructured and rewritten
  with a view to greater clarity and readability. It is provided in both 
  HTML and PDF format.
  
- The Cheatsheet has been totally rewritten in a tabular format 
  and reduced to just a few pages. The goal was to turn it into a concise
  desktop reference of SimPy commands. The Cheatsheet is provided in both XLS 
  (MS Excel spreadsheet) and PDF format.
  
- The obsolete Interfacing document has been replaced by a brief introduction
  to using the *matplotlib* library for publication-quality plotting of SimPy-
  produced data.

- The version of SimPy.Simulation(RT/Trace/Step) is now accessible
  by the variable 'version'.
  
- The *__str__* method of Histogram was changed to return a table format
  (like that produced by the new *printHistogram* method of Monitor and Tally).
  
Repairs
========

- Repaired a bug in *yield waituntil* runtime code. 

- Introduced check for *capacity* parameter of a Level or a Store
  being a number > 0.
  
- Added code so that self.eventsFired gets set correctly after an event fires
  in a compound yield get/put with a waitevent clause (reneging case).
  
- Repaired a bug in prettyprinting of Store objects (the buffer 
  content, i.e. *._theBuffer* was not shown) by changing *._theBuffer* 
  to *.theBuffer*.

Additions
============

- New compound yield statements support time-out or event-based
  reneging in get and put operations on Store and Level instances.
  
- *yield get* on a Store instance can now have a filter function which
  selects which and how many items (e.g. "3 parcels weighing less than 3 
  pounds) should be retrieved.
  
- All Monitor and Tally instances are automatically registered in list 
  *allMonitors* and *allTallies*, respectively.

- The new function *startCollection* allows activation of Monitors and 
  Tallies at a specified time (e.g. after warmup period).
  
- A *printHistogram* method was added to Tally and Monitor which generates
  a niceley formatted table-form histogram.
  
- In SimPy.SimulationRT: A function for allowing changing
  the ratio wall clock time to simulation time has been added. It facilitates
  slowing down or speeding up model execution, e.g. for interactive
  models or games.
  

  