News in 4ti2 version 1.6.6, compared to 1.6.5:

 * Fix segfault in graver when a matrix with trivial kernel is input
   (testcase graver/trivial-kernel).
   Reported by Alfredo Sanchez.

News in 4ti2 version 1.6.5, compared to 1.6.4:

 * Fix build failure with gcc 4.9.2.

News in 4ti2 version 1.6.4, compared to 1.6.3:

 * Improved error checking while reading zsolve input files.
   Reported by Sebastian Gutsche.

 * The PDF manual has been updated to include a reference to commands
   and their options and a reference to the API.  The command
   reference on www.4ti2.de has also been updated.

 * Better option handling.  Make long options available in non-GNU
   platforms such as Mac OS X.  All commands now support the
   standard --help and --version options.

 * Minor fix to the test suite.
   Reported by Luis David Garcia-Puente.

News in 4ti2 version 1.6.3, compared to 1.6.2:

 * The manual has been updated.

 * Minor build fixes.

News in 4ti2 version 1.6.2, compared to 1.6.1:

 * Use GLPK's new glp_* API instead of the old lpx_* API (declared
   obsolete in glpk 4.47 and removed in 4.52).  
   (Patch by Jerry James for Fedora.)

News in 4ti2 version 1.6.1, compared to 1.6:

 * Compile fix for XCode 5.0.2, Apple LLVM version 5.0 (clang-500.2.79).

News in 4ti2 version 1.6, compared to 1.5.2:

 * Restore the functionality of "hilbert" in versions up to 1.3.2 to
   accept "rel" files.  This signalled an error in the 1.4 and 1.5 series.
   (Note that "zsolve" did accept "rel" files in the 1.4 and 1.5 series.)

 * When the cone is not pointed, "hilbert" now outputs a "zfree" file,
   containing a lattice basis, in addition to the "hil" file.  

   Note that in the non-pointed case, Hilbert bases are not uniquely
   determined.  Let zfree_1, ..., zfree_k be the vectors in the "zfree"
   file and hil_1, ..., hil_l be the vectors in the "hil" file. 
   Then a Hilbert basis of the non-pointed cone is 
   hil_1, ..., hil_l, -(hil_1 + ... + hil_l), zfree_1, ..., zfree_k.

   (In the 1.3 series, "hilbert" silently appended the lattice
   generators to the "hil" file.  Thus the list of vectors in the
   "hil" file was not a Hilbert basis of the non-pointed cone; this
   was a bug.  Note that "zsolve" did work correctly in the 1.3
   series.)

 * Fix a bug of zsolve and hilbert on 64-bit platforms (where
   sizeof(unsigned long) > sizeof(int)), which affected problems with
   more than 32 variables and could lead to wrong results. (Testcases
   a1, dutour-testcase-2013-08-21).

 * Accept longer filenames.

 * Enable shared library builds on the Cygwin platform (using the
   libtool -no-undefined flag).  (However, this requires that shared
   libraries of GMP, GLPK are available.)

 * Use gnulib to provide getopt_long if not available in the
   system libraries.

 * If the C++ compiler does not have int32_t and int64_t, use int and
   long int instead.  

 * Fixed bug in lattice transformation with too few rows.  
   (Reported by Jerry James for Fedora.)

 * Fix a build failure with gcc 4.7.
   (Patch by Jerry James for Fedora.)


News in 4ti2 version 1.5.2, compared to 1.5.1:

 * Build a GMP-only 4ti2 if the C++ compiler does not have int32_t and int64_t.


News in 4ti2 version 1.5.1, compared to 1.5:

 * Fix a build problem with --enable-shared.


News in 4ti2 version 1.5, compared to 1.4:

 * Latest version of new qsolve.


News in 4ti2 version 1.4, compared to 1.3.2:

 * Portability fixes

 * New abstract C and C++ API (callable library), header files in 4ti2/

 * New implementation of zsolve in C++


News in 4ti2 version 1.3.2, compared to 1.3.1:
 
 * New build system, using GNU Autoconf, Automake, and Libtool.

   This allows 4ti2 to be built using the standard "./configure &&
   make && make install" sequence.

 * Bug fixes

 * Portability fixes (for GCC versions 4.3.x and 4.4.x)


News in 4ti2 version 1.3.1, compared to 1.2:

 * 'groebner' and 'markov' are again heavily improved.

 * 'groebner' and 'markov' allow non-homogeneous lattice ideals.

 * 'groebner' and 'markov' allow truncation.

 * There is a new function 'walk' performing a Gröbner walk.

 * There are new functions 'qsolve' and 'zsolve' for solving linear
   systems over the reals or the integers, respectively.

 * There are new functions 'rays' and 'circuits' to compute extreme
   rays and circuits.

 * The functions 'circuits' and 'graver' allow to fix certain
   orthants.

 * One may compute with projections by specifying variables to be
   ignored.

 * There is a new function 'minimize' to solve integer linear
   programs.

