===========================================================================
This file describes changes in the GAP package 'nq'.
===========================================================================

2.5.1 (2014-04-02)
  * Fix linker error on Unix systems other than Mac OS X
  * Remove GAP function NqBuildManual (use the makedoc.g
    script instead)

2.5 (2014-04-01)
  * Renamed configure option "--with-gap-root" to "--with-gaproot"
    in order to match the io and orb packages more closely.
  * Changed build system to use automake
  * Changed how the manual is built (now AutoDoc is used to
	automatically generate the title page from PackageInfo.g)
  * Add GPL license file to make clear that nq is licensed under the GPL
    (after discussion with Werner Nickel and getting his explicit approval)
  * Moved the homepage to GitHub
  * Updated Max Horn's contact details

2.4 (2012-01-12)
  * Fixed crash on some systems caused by a long standing memory
    management bug.
  * Fixed crash on certain systems caused by exponents being sometimes
    treated as 64bit words, and sometimes as 32bit words.
  * Fixed spurious warnings when running "configure" that could occur
    when using --with-gmp-prefix
  * Fixed a warning when using nq in GAP versions before 4.5.
  * Improved build system:
    - Improved GMP detection in configure script; it now checks if GAP
      built a GMP library, and if so, uses that.
    - Unified how the user can choose which GAP config to use in the
      configure script: Instead of a --with-gap-config argument to
      configure, now a CONFIGNAME environment variable is used. This
      matches how GAP's own configure script works, and also various
      other packages.
    - Added support for ABI override via ABI environment variable
    - Changed --with-gmp-prefix to --with-gmp, with exact same semantics
      as the --with-gmp option of GAP's configure.

2.3 (2011-09-15)
  * Removed maintainer flag from Werner, added Max as new maintainer
  * Synced cnf/config.* files with the ones used by GAP
  * Rewrote and improved configure script and the build system
  * Added '--with-gap-dir' option to configure
  * Fixed compilation on modern day systems (e.g. Mac OS X),
    by including stdlib.h and string.h instead of malloc.h 
  * Stopped insisting on static linking the nq binary
  * Dropped compatibility with GAP versions prior to 4.4
  * Made test cases ignore the version string nq outputs
  * Fixed crash on Mac OS X when compiling in 64 bit mode
  * Updated documentation
  * Enabled extra warnings for the C code, and fix many of resulting warnings
  * Converted History file to this CHANGES file.

2.2 (2007-02-07)
  * filter out the identity word as relator

2.1 (2003-10-20)
  * removed instances of `share package'
  * removed obsolete files doc/manual.in gap/nqrest.gi

2.0 (2003-02-12)
  * GAP4 print routines (gap.c) added.  The -g option now
    prints a pc-presentation in GAP4 style at the end of a
    run. 
  * Evaluation of an Engel identity redefines the Commute
    array.  As a consequence, commutator calculations are
    carried out only with the precision required to evaluate
    an iterated commutator.  This gives a speedup of a factor
    of 3-4 in Engel-4 and Engel-5 groups.
  * Implementation of parsing Engel-n commutators and
    evaluation of those commutators with redefined Commute[]
    arrays. 
  * turned NQ into a GAP 4 package
  * modified the GAP 4 output routines
  * wrote new setup for nq using autoconf
  * replaced in glimt.c all BSD compatible integer functions
    by GMP functions.  Now libmp.a is not needed anymore.
  * extended the input grammar to accept identical generators
    as part of the generator list seperated from the other
    generators by a semicolon
  * added machinery to evaluate identical relations
  * added a combinatorial collector
  * reconstruction of the integer matrix code
  * rewrite of the examples code


1.2 (1998-03-??)
  * added option that allows to check the Engel condition in
    reverse order
  * added -m option that outputs all non-zero vectors handed
    to addRow() to file.
  * built integer overflow check into function Number() in
    presentation.c .
  * replaced the function Commutator() in collect.c.  Instead
    of using Solve to solve uv x = vu the equation is solved
    directly. 
  * Added support for metabelian identities.
  * Added the option -p to toggle the printing of the epimorphism
    and the nilpotent quotient at the end of a run.  I also added
    code to print the definitions of each generator of weight at
    least 2.
  * print statements for the definitions of new generators.
  * added option -E to reverse the order in which Engel
    generators are processes.
  * NQ now reads from stdin when the file name argument is missing

1.1e (1994-08-04)
  * fixed printing of preimages in PrintEpim() in relation.c.
  * the error function of Collect() now prints the generator
    which caused the error. Collect() was also slightly
    reformatted.

1.1d (1994-03-??)
  * changed the functions buildPairs() and buildWord()
    such that they also build words with negative exponents.
    This can be switched off using the option -s (s for
    semigroup words).
  * Added a check for the identity matrix to the function 
    addRow(). A flag EarlyStop is set if the check is
    positive. This flag is now used in the files
    consistency.c, relations.c and engel.c to stop the
    computation as soon as all new generators are eliminated.
  * Fixed the last printing of the total runtime in main().
  * changed the function evalEngel() in engel.c such that it
    stops checking instances of the Engel law as soon as all
    instances of a certain weight did not yield anything new.
    This is not proved to be mathematically sound.
  * the function buildPairs() in engel.c now checks if an
    instance [x, ny] of the n-th Engel law is trivial for
    weight reasons.
  * the function Collect() in collect.c aborts a run if it
    runs into an integer overflow.
  * the functions outputMatrix() and printGapMatrix() in
    glimt.c have been changed to print only rows and columns
    whose pivot entry is not 1.
  * the function MatrixToExpVec() in glimt.c now frees the
    large matrix row by row.
  * Update the README file.

1.1c (1993-08-12)
  * modified the file engel.c to allow checking of more
    identities. This entry has been made in Oct 93; it
    has to be checked what the modifications are and which
    options have been added.

1.1b (1993-02-26)
  * added the option -a to nq and the corresponding
    output routine outputMatrix() to glimt.c.

1.1 (1993-01-22)
  * introduction of this file and the file README
  * added option -t to nq
  * improvements to testNq
  * added target clean to the make file

1.0 (1992-12-??)
  * Version 1.0 of the ANU NQ
