
                     Version history of the FactInt package
                     ======================================

Initial version: 1.0 (July 1999)

Changes between version 1.0 and version 1.1:

 - MPQS now uses the fast special-purpose kernel routine
   ADD_TO_LIST_ENTRIES_PLIST_RANGE for the innermost loop of the sieving
   routine. The kernel routine has been implemented in src/listoper.c by
   Steve Linton.

Changes between version 1.1 and version 1.2 (April 26, 2002):

 - The manual is now also available in PDF and Postscript format.
 - The documentation has been cleaned up typographically.
 - Info messages for factorizations of small integers are now given only
   if InfoLevel(IntegerFactorizationInfo) = 3 to avoid the user to be swamped
   with messages for factorizations of numbers like 4 or so if he does not
   want to.
 - The declaration of `IntegerFactorizationInfo' is now in factint.gd,
   as it should.

Changes between version 1.2 and version 1.3 (July 11, 2002):

 - The overhead for factoring very small numbers has been reduced.
 - The synonym `InfoFactInt' for `IntegerFactorizationInfo' has been added.
 - A restriction concerning the number of digits of some argument values
   in Info messages has been removed (this concerns mainly the ECM).
 - The default of the number of curves to be tried by FactorsECM for large
   numbers before invoking the MPQS has been increased.
 - Info levels 4 and 5 for more frequent status messages during
   the sieving process of the MPQS have been introduced.

Changes between version 1.3 and version 1.3.1:

 - The package has been adapted to the new package loading and updating
   mechanism of GAP 4.4.
 
Changes between version 1.3.1 and version 1.4.6 (January 21, 2005):

 - The performance of the factoring routine for integers of the
   form b^k +/- 1 has been improved.
 - FactInt now uses Richard P. Brent's tables of factors of integers of the
   form b^k +/- 1. (Only under UNIX.)

   The corresponding code has been contributed by Frank Lübeck.

 - Treatment of the following special cases has been implemented:

   - Two factors p, q such that p/q is close to a fraction with small
     numerator and denominator.
   - k! ± 1.
   - p1 * p2 * p3 * ... * pk +/- 1.
   - Fibonacci numbers.
   - 3^k - 2^k.
   - 11111 ... 11111
   - Factors already available as values of user variables in workspace.

 - An option `cheap' for restricting factorization attempts
   to cheap methods has been added.

Changes between version 1.4.6 and version 1.4.7:

 - Caching of whole factorizations and single factors has been implemented.
 - Now the p +/- 1 - routines are by default only used for sufficiently large
   composites.
 - The overhead for small / easy numbers has been reduced further.
 - The function `FactorsTD' has been documented.
 - Synonyms `ECM', `MPQS' and `CFRAC' for `FactorsECM', `FactorsMPQS'
   resp. `FactorsCFRAC' have been added.

Changes between version 1.4.7 and version 1.4.8:

 - Treatment of the special case a^k +/- b^k has been implemented.
 - Relics resp. compatibility with the package loading mechanism
   of GAP 4.3 have been removed.

Changes between version 1.4.8 and version 1.4.9:

 - The `AbstractHTML' in PackageInfo.g has been improved.

Changes between version 1.4.9 and version 1.4.10:

 - A bug has been fixed which caused an error message when trying to factor
   a large enough integer not of the form d*(10^k-1/9) whose last 4 decimal
   digits were equal. This bug was there since version 1.4.6, and has been
   reported by Sven Reichard.

Changes between version 1.4.11 and version 1.4.12:

 - A problem in the code for formatting the Info output of the ECM routine
   has been fixed. This problem caused an error message if the runtime of
   the ECM spent on the first or the second stage of a curve was below 1ms.
   It has been reported by Doug McTavish.


