
                    Version history of the ResClasses package
                    =========================================

Initial version: 1.0 (January 2004)

Changes between version 1.0 and version 1.1:

 - The output routines have been improved.

 - An attribute `Density' has been added.

Changes between version 1.1 and version 2.0 (June 3, 2004):

 - A function `AllResidueClassesModulo' has been added.

 - Support for unions of residue classes with fixed representatives has been
   added. These domains behave different than `ordinary' unions of residue
   classes:

   1. They behave like sets of single residue classes with fixed
      representative rather than like sets of ring elements.

   2. The residue classes are not necessarily disjoint, thus the unions can
      be viewed as multisets of ring elements.

Changes between version 2.0 and version 2.0.2:

 - A bug in a `Union2' method for unions of residue classes has been fixed
   (ExcludedElements were not treated correctly). This bug caused wrong
   results in some cases.

Changes between version 2.0.2 and version 2.0.5:

 - The manual has been cleaned up and compacted.

 - An operation `SplittedClass' has been added.

 - Minor improvements in the manual have been made, and a few trivial
   methods covering pathological cases have been added.

Changes between version 2.0.5 and version 2.0.6:

 - The following name changes have been made:
   `DELTA' --> `Delta' and `RHO' --> `Rho'.

 - A bug in `RepresentativeStabilizingRefinement' has been fixed.
   This bug caused wrong results in certain situations. Test code:

   gap> U := ResidueClassUnionWithFixedReps([[-1,3],[1,3],[3,3]]);;
   gap> U = RepresentativeStabilizingRefinement(U,0);
   true

Changes between version 2.0.6 and version 2.1.0 (August 8, 2005):

 - Significant performance improvements in `Union', `Intersection',
   `Difference' and `AsUnionOfFewClasses' for `sparse' unions of
   residue classes have been obtained.

Changes between version 2.1.0 and version 2.1.1:

 - An adaptation to an incompatible change in GAP 4.4.6 w.r.t.
   `InstallValue' for families has been made.

Changes between version 2.1.1 and version 2.1.2:

 - A property `IsResidueClass' has been added.

Changes between version 2.1.2 and version 2.2.0 (February 14, 2006):

 - The output of the `View' and `Display' methods for unions of residue
   classes has been improved.

 - `AsUnionOfFewClasses' has been made another bit more efficient.

Changes between version 2.2.0 and version 2.2.1:

 - For convenience, `ResidueClass' now accepts also a list [r,m] as argument.

 - The output of `Display' for unions of residue classes has been improved
   a bit further.

Changes between version 2.2.1 and version 2.2.2:

 - A couple of minor output formatting improvements have been made.

Changes between version 2.2.2 and version 2.3.0 (May 30, 2006):

The main change is that the manual has been revised.

Further a couple of trivial methods have been added, some of which
are needed by RCWA.

Changes between version 2.3.0 and version 2.3.1:

 - For convenience, an operation `Residue' has been introduced.

Changes between version 2.3.1 and version 2.3.2:

 - A few trivial methods have been added, and some undocumented
   global functions have been made local.

Changes between version 2.3.2 and version 2.3.3:

 - A few minor internal changes have been made.

Changes between version 2.3.3 and version 2.3.4:

 - An operation `RandomPartitionIntoResidueClasses' has been introduced.

Changes between version 2.3.4 and version 2.3.5:

 - A method for `AsUnionOfFewClasses' for unions of residue classes of the
   rings Z_pi and GF(q)[x] has been added.

 - The function `AllResidues' has been turned into an operation, and
   an operation `NumberOfResidues' has been introduced.

 - The documentation has been slightly improved.


