July 25, 2025: version 3.3.4

    * minor updates to build system

June 20, 2024: version 3.3.3

    * minor update for MATLAB on Windows

Mar 22, 2024: version 3.3.2

    * minor updates to build system

Jan 10, 2024: version 3.3.1

    * minor updates to build system

Dec 30, 2023: version 3.3.0

    * major change to build system: by Markus Mützel
    * revised test for integer overflow: for CHOLMOD 5.1.0 tests
    * amd_version: added to return version of AMD

Sept 18, 2023: version 3.2.1

    * cmake update: add "None" build type, from Antonio Rojas, for Arch Linux

Sept 8, 2023: version 3.2.0

    * cmake updates: SuiteSparse:: namespace by Markus Muetzel

June 16, 2023: version 3.0.4

    * cmake build system updates: update by Markus Muetzel

Jan 17, 2023: version 3.0.3

    * NFORTRAN: option added to disable Fortran entirely
    * SuiteSparse_config: now v7.0.0

Dec 9, 2022: version 3.0.2

    * minor changes to build system
    * Fortran: allow AMD to be compiled if no Fortran compiler is available.
        The Fortran source codes (Source/amd.f, Source/amdbar.f) and Demo/*.f
        are skipped.

Nov 12, 2022: version 3.0.0

    * using CMake build system
    * integers: int (32-bit) and SuiteSparse_long (nominally 64-bit) replaced
        with int32_t and int64_t.

May 4, 2016: version 2.4.6

    * minor changes to Makefile

Apr 1, 2016: version 2.4.5

    * licensing simplified (no other change); refer to AMD/Doc/License.txt

Feb 1, 2016: version 2.4.4

    * update to Makefiles

Jan 30, 2016: version 2.4.3

    * modifications to Makefiles

Jan 1, 2016: version 2.4.2

    * modified Makefile to create shared libraries
        No change to C code except version number

Oct 10, 2014: version 2.4.1

    modified MATLAB/amd_make.m.  No change to C code except version number.

July 31, 2013: version 2.4.0

    * changed malloc and printf pointers to use SuiteSparse_config

Jun 20, 2012: verison 2.3.1

    * minor update for Windows (removed filesep)

Jun 1, 2012: version 2.3.0

    * changed from UFconfig to SuiteSparse_config

May 15, 2012: version 2.2.4

    * minor fix to SIZE_T_MAX definition (finicky compiler workaround)

Dec 7, 2011: version 2.2.3

    * fixed the Makefile to better align with CFLAGS and other standards

Jan 25, 2011: version 2.2.2

    * minor fix to "make install"

Nov 30, 2009: version 2.2.1

    * added "make install" and "make uninstall"

May 31, 2007: version 2.2.0

    * port to 64-bit MATLAB

    * Makefile moved from Source/ to Lib/

    * minor changes to printing routines (amd_control.c, amd_info.c)

Dec 12, 2006, version 2.0.4

    * minor MATLAB code cleanup

Nov 29, 2006, version 2.0.3

    * changed MATLAB function name to amd2, so as not to conflict with
	the now built-in version of AMD in MATLAB (which is the same thing
	as the AMD here...).

Sept 28, 2006, version 2.0.2

    * #define SIZE_T_MAX not done if already defined (Mac OSX).

Aug 31, 2006:

    * trivial change to comments in amd.m

Apr 30, 2006: AMD Version 2.0:

    * long integer redefined as UF_long, controlled by UFconfig.h.

    * amd_order no longer requires its input to have sorted columns.  It can
	also tolerate duplicate entries in each column.  If these conditions
	hold, but the matrix is otherwise valid, amd_order returns
	AMD_OK_BUT_JUMBLED (a warning, not an error).

    * amd_preprocess no longer deemed user-callable, since it is no longer
	needed (it was used to ensure the input matrix had sorted columns with
	no duplicate entries).  It still exists, with additional parameters,
	and is called by amd_order if necessary.  amd_wpreprocess and
	amd_preprocess_valid removed.  Fortran interface routine amdpreproc
	removed.

    * Integer overflow computations modified, to extend the size of problem
	that the "int" version can solve when used in an LP64 compilation.

    * amd_demo2.c simplified (it tests AMD with a jumbled matrix).

    * amd_valid returned TRUE/FALSE in v1.2.  It now returns AMD_OK,
	AMD_OK_BUT_JUMBLED, or AMD_INVALID.  Only in the latter case is the
	matrix unsuitable as input to amd_order.

    * amd_internal.h include file moved from AMD/Source to AMD/Include.

Nov 15, 2005:

    * minor editting of comments; version number (1.2) unchanged.

Aug. 30, 2005: AMD Version 1.2

    * AMD v1.2 is upward compatible with v1.1 and v1.0, except that v1.2 no
	longer includes the compile-time redefinition of malloc and free.

    * Makefile modified to use UFconfig.mk.  "Make" directory removed.

    * Easier inclusion in C++ programs.

    * option to allow compile-time redefinition of malloc and free
	(added to v1.1) removed for v1.2.  Replaced with a run-time
	redefinition.  AMD includes function pointers for malloc, free,
	calloc, realloc, and printf, so that all those routines can be
	redefined at compile time.  These function pointers are global
	variables, and so are not technically thread-safe, unless you
	use defaults and don't need to change them (the common case)
	or if you change them in one thread before using them in other
	threads.

    * added #define'd version number

    * minor modification to AMD_2 to ensure all lines can be tested, without
	conditional compilation.

    * moved the prototype for AMD_2 from amd_internal.h to amd.h

    * moved the prototype for AMD_valid from amd_internal.h to amd.h

    * MATLAB mexFunction uses libamd.a (compiled with cc) instead of compiling
	each AMD source file with the mex command

    * long demo (amd_l_demo.c) added.

Jan. 21, 2004: AMD Version 1.1

    * No bugs found or fixed - new features added, only
    * amd_preprocess added, to allow for more general input of the matrix A.
    * ME=0 added to amd*.f, unused DEXT variable removed from amdbar.f,
	to avoid spurious compiler warnings (this was not a bug).
    * amd_demo2.c and amd_demo2.out added, to test/demo amd_preprocess.
    * option to allow compile-time redefinition of malloc, free, printf added
    * amd_demo.c shortened slightly (removed printing of PAP')
    * User Guide modified (more details added)
    * linewidth reduced from 80 to 79 columns

Oct. 7, 2003:  AMD version 1.0.1.

    * MATLAB mexFunction modified, to remove call to mexCallMATLAB function.
      This function can take a long time to call, particularly if you are
      ordering many small matrices.

May 6, 2003:  AMD Version 1.0 released.

    * converted to C (compare amd.f and amdbar.f with amd_2.c)
    * dense rows/column removed prior to ordering
    * elimination tree post-ordering added
    * demos, user guide written
    * statistics added (nz in L, flop count, symmetry of A)
    * computes the pattern of A+A' if A is unsymmetric
    * user's input matrix no longer overwritten
    * degree lists initialized differently
    * IOVFLO argument removed from Fortran versions (amd.f and amdbar.f)
    * parameters added (dense row/column detection, aggressive absorption)
    * MATLAB mexFunction added

Jan, 1996:

    * amdbar.f posted at http://www.netlib.org (with a restricted License)
    * amd.f appears as MC47B/BD in the Harwell Subroutine Library
	(without the IOVFLO argument)
