20090401
	Upgraded tool versions:
	  PostgreSQL 8.3.1 --> PostgreSQL 8.3.7
	  GCC 4.3.1        --> GCC 4.3.3
	  CLN 1.1.13       --> CLN 1.2.2
	  flex 2.5.33      --> flex 2.5.35

	Minor documentation updates.

20080812
	Upgraded to GCC 4.3.1.

	Minor documentation updates.

20080605
	Upgraded tool versions:
	  GCC 4.2.1        --> GCC 4.3.0
	  PostgreSQL 8.2.6 --> PostgreSQL 8.3.1

	For GCC 4.3.0:
	Added missing #include <algorithm> in RankedOrderDetails.cc.

	For PostgreSQL 8.3.1:
	Updated ECPGdo call in Infrastructure-PairsCoverage.pgcc countQuery.

	Lots of documentation and disclaimer updates.

20080331
	Documentation and disclaimer updates.
	Added worked example.

20080221
	Documentation updates.

20080115

	Removed a nonportable use of map::at from ReportGenerator.cc.

	Merged the 1-trivial, 2-simple and 3-samples serieses to form the
	1-basic series and made related cosmetic changes.

	Added tests: 1-basic-Primary-AbsenteeBySpecialPrecinct.sql,
	1-basic-Primary-SplitPrecinct.sql, 1-basic-Primary-NofM.sql,
	1-basic-Primary-RankedOrder.sql,
	1-basic-AbsenteeBySpecialPrecinct-SplitPrecinct.sql,
	1-basic-AbsenteeBySpecialPrecinct-RankedOrder.sql,
	1-basic-AbsenteeBySpecialPrecinct-StraightParty.sql,
	1-basic-AbsenteeBySpecialPrecinct-CrossPartyEndorsement.sql,
	1-basic-Cumulative-NofM.sql, 1-basic-Cumulative-RankedOrder.sql,
	1-basic-RankedOrder-NofM.sql,
	1-basic-SplitPrecinct-RankedOrder.sql,
	1-basic-Primary-StraightParty.sql,
	1-basic-Primary-CrossPartyEndorsement.sql,
	1-basic-AbsenteeByCategory-RankedOrder.sql,
	1-basic-AbsenteeBySpecialPrecinct-Provisional.sql,
	1-basic-AbsenteeByCategory-Provisional.sql,
	1-basic-AbsenteeByCategory-StraightParty.sql,
	1-basic-SplitPrecinct-BallotRotation.sql,
	1-basic-SplitPrecinct-StraightParty.sql,
	1-basic-SplitPrecinct-CrossPartyEndorsement.sql,
	1-basic-BallotRotation-WriteInsAliases.sql,
	1-basic-BallotRotation-RankedOrder.sql,
	1-basic-BallotRotation-StraightParty.sql,
	1-basic-BallotRotation-CrossPartyEndorsement.sql,
	1-basic-StraightParty-WriteIns.sql,
	1-basic-Cumulative-Provisional.sql, 1-basic-NofM-Provisional.sql,
	1-basic-CrossPartyEndorsement-NofM.sql,
	1-basic-StraightParty-Provisional.sql.

	Separated Infrastructure-PairsCoverage from
	Infrastructure-Features.

	Added test transformation capability and --kill-overvotes option.

	Made ReportGenerator wrap choice descriptions that are too long to
	fit in the specified field width.

	Updated samples tests to use actual sample ballot text.

	Corrected value of M in first contest in
	1-basic-samples-CecilRPrimary1998.sql.

20071026
	
	Added tests:  1-trivial-StraightParty-NofM.sql,
	2-simple-SplitPrecinct.sql.

	Removed references to Boost.

20071001

	Added tests:  1-trivial-CrossPartyEndorsement-Provisional.sql,
	1-trivial-CrossPartyEndorsement-WriteIns.sql,
	1-trivial-Primary-AbsenteeByCategory.sql,
	1-trivial-Primary-BallotRotation.sql.

	The following test was documented but is not yet included:
	1-trivial-StraightParty-NofM.sql.

	Updated the specified version of PostgreSQL to 8.2.5.  Version
	8.2.5 fixes the planner problems in the 8.2.4 release that forced
	us to use a snapshot.

20070911

	Added tests:  3-samples-AlleganyGeneral2004.sql,
	3-samples-CecilRPrimary1998.sql.

	Added Infrastructure-Features.sql and pgcc.

20070910

	Added tests:  1-trivial-BallotRotation-AbsenteeByCategory.sql,
	1-trivial-BallotRotation-AbsenteeBySpecialPrecinct.sql,
	1-trivial-BallotRotation-Cumulative.sql,
	1-trivial-BallotRotation-NofM.sql,
	1-trivial-BallotRotation-Provisional.sql.

	Added note in documentation about the pass criteria for ballot
	rotation tests.

20070904

	TestGenerator enhancements:

	  1.  Changed input format to TestGenerator to facilitate
	  continued expansion and integrated a more maintainable parser.

	  2.  Generalized Triangle distribution to scale up according to
	  the number of votes available.

	  3.  Added ability to specify distribution of ballots to
	  precincts and precincts to districts, currently a choice between
	  UniformRandom and Even.

	  4.  Added support for write-ins.

	Added test 3-samples-FairfaxGeneral2004.sql.

20070829

	Added tests:  1-trivial-SplitPrecinct-AbsenteeByCategory.sql,
	1-trivial-SplitPrecinct-Cumulative.sql,
	1-trivial-SplitPrecinct-NofM.sql,
	1-trivial-SplitPrecinct-Provisional.sql,
	1-trivial-SplitPrecinct-WriteIns.sql.

20070827

	Added tests:  1-trivial-WriteInsAliases-AbsenteeByCategory.sql,
	1-trivial-WriteInsAliases-AbsenteeBySpecialPrecinct.sql,
	1-trivial-WriteInsAliases-Cumulative.sql,
	1-trivial-WriteInsAliases-NofM.sql,
	1-trivial-WriteInsAliases-Provisional.sql.

	Renamed the extras subdirectory to TestGenerator as it is unclear
	that there will be any other extras.

	Caused TestGenerator to echo its input (the test spec) in the
	generated test case.

20070815

	Renamed RandomTestGenerator to simply TestGenerator.

	Extended TestGenerator to allow the specification of different
	patterns for generating votes.  The pattern previously implemented
	is now called UniformRandom.  Added the Triangle pattern.  N.B.,
	the assignment of precincts to districts and of ballots to
	precincts is still random; possibly these should have a specified
	distribution too.

	Cleaned up TestGenerator source somewhat.

20070810

	Added tests:  1-trivial-AbsenteeBySpecialPrecinct-Cumulative.sql,
	1-trivial-AbsenteeBySpecialPrecinct-NofM.sql,
	1-trivial-AbsenteeBySpecialPrecinct-NofM-Provisional.sql,
	1-trivial-AbsenteeBySpecialPrecinct-WriteIns.sql,
	1-trivial-AbsenteeBySpecialPrecinct-Yes-or-No.sql.

	Fixed descriptions in 1-trivial-AbsenteeByCategory-Cumulative.sql
	and 1-trivial-Primary-Cumulative.sql to distinguish Cumulative
	contests from N-of-M contests.
	
20070806

	Added tests:  1-trivial-Yes-or-No.sql,
	1-trivial-AbsenteeByCategory-CrossPartyEndorsement.sql,
	1-trivial-AbsenteeByCategory-Cumulative.sql,
	1-trivial-Primary-Provisional.sql.

20070801
	
	Removed redundant coalesce from O and U.

	Documented the verification of the schema.

20070727

	(Bug) Change to the definition of N that was made 20070705 was
	correctly propagated to the OutOfRangeVoterInputs integrity view,
	but the analogous change to OutOfRangeEndorsements was not made--
	fixed.

	Added tests:  1-trivial-AbsenteeByCategory-NofM.sql,
	1-trivial-AbsenteeByCategory-WriteIns.sql,
	1-trivial-NofM-WriteIns.sql,
	1-trivial-Primary-WriteIns.sql,
	1-trivial-Primary-Cumulative.sql,
	1-trivial-StraightParty-Cumulative.sql,
	1-trivial-CrossPartyEndorsement-Cumulative.sql,
	1-trivial-RankedOrder-2.sql,
	1-trivial-StraightParty-RankedOrder.sql,
	1-trivial-RankedOrder-WriteIns.sql.

	Renamed 1-trivial-RankedOrderProvisional.sql to
	1-trivial-RankedOrder-Provisional.sql.

20070725

	Renamed runtest script to runTest (with capital T) to avoid
	conflict with the DejaGnu test driver of the same name.

	Expanded the random test generator to generate more complex tests.

	Materialized views in ReportGenerator to improve performance in
	large and complex scenarios.

	Changed from multiple invocations of ReportGenerator to a single
	invocation with multiple contexts on the command line.

20070711
	
	Documented constraint N > 0 (was already in schema).

	Handled the pathological case where a contest has no choices.
	This happens if there are no candidates on the ballot and nobody
	writes in anything.  (It makes no sense at all if write-ins are
	disallowed.)  The view FilteredBallotContestAssociation was added
	and the views S and TSum were reformulated.

	Ranked order reporting failed to address provisional ballots--
	fixed.

	Added tests:  1-trivial-NoBallots-1ofM.sql,
	1-trivial-NoBallots-RankedOrder.sql, 1-trivial-NoChoices-1ofM.sql,
	1-trivial-NoChoicesNoBallots-1ofM.sql,
	1-trivial-RankedOrderProvisional.sql.

20070705

	Cleaned up report generator source and moved it into the
	subdirectory ReportGenerator.

	Implemented reporting for ranked order contests.  The
	algorithm implemented by ReportGenerator is only one example
	of conforming behavior.  The algorithm implemented by
	ReportGenerator is not recommended or endorsed by the National
	Institute of Standards and Technology for use in elections and
	it is not the best algorithm available for the purpose.  Its
	only purpose is to provide output for comparison in simple
	cases where the implementation-dependent details have no
	impact.
       	  * The quota is Hagenbach-Bischoff plus epsilon.
	  * Surpluses are transferred via the Gregory method using
	    unlimited precision rational numbers.
	  * No special cases are handled.  This means:  every choice
	    must be ranked on every ballot; every choice must be
	    assigned a different rank; only one choice is elected or
	    eliminated at a time; and if a tie occurs, the algorithm
	    halts.

	Class Library for Numbers (http://www.ginac.de/CLN) is now
	required.

	Added random test generator in the subdirectory extras.  Currently
	it only generates tests with a single contest and no special
	cases, but it does N-of-M, cumulative, and ranked order contests.

	Changed definition of N for ranked order contests from "the
	maximum number of candidates that the voter may rank" to "the
	number of contest choices to be elected."  Made conforming changes
	to Constraint I (VoterInputValueConstraint) and the associated
	integrity views (OutOfRangeVoterInputs and
	OutOfRangeEndorsements).

	Added level 1 test for ranked order.

	Addressed non-substantive voting variations in level 1 through
	documentation changes and one new test (ballot rotation).

	Changed "scratch vote" to "straight party override."

	Reformulated StraightPartyOverrides view and BlankBallot view to
	improve performance for larger scenarios.

	Documented assumption of 1:1 correspondence between ballot
	configurations and ballot styles.

	Added runAllTests and sample_output.

20070321

	Distribution for NIST internal review.  Level 1 substantively
	complete other than ranked order.
