#                                                                             #
# Trilinos Release 8.0 Changelog                                              #
#                                                                             #

Release Update 8.0.8 July 25, 2008

Change number.  Package(s) affected - description

1. ML - Making sure ml.m shows up in the tarball.

2. Teuchos - Adding "#include " to Teuchos_ConfigDefs.hpp.  This was
necessary for creating a Trilinos RPM.

3. Amesos - Correction to the construction of a vector > object.
This was necessary for creating a Trilinos RPM.

4. AztecOO, TrilinosCouplings - Corrected multiple license notices.  This was
necessary for creating a Trilinos RPM.

5. Anasazi - Adding "#include " header to Anasazi_ConfigDefs.hpp.
This was necessary for creating a Trilinos RPM.

6. Several - Applying a number of patches to the build system that were
submitted by Deji Akingunola. He is working on a Fedora RPM for Trilinos and
required these changes to build the RPM.

7. PyTrilinos - Bug 3989.  Added fixes for installation on Fedora Core.

8. ML - Random number changes from dev branch.

9. PyTrilinos - Bug 3989.  Added bug fix/modification to MakefileVariables
utility that was present in dev branch but not R8.

10. PyTrilinos - Fixed install problem introduced by Deji's patch.

11. PyTrilinos - Updated doxygen-to-python-docstring documentation.

Release Update 8.0.7 May 10, 2008

Change number.  Package(s) affected - description

1. ML - Consistency fix for "subsmoother: damping parameter".

2. Isorropia - Removed unnecessary configure check for Python.

3. Epetra - Bug 3884.  FECrsMatrix wasn't overriding the CrsMatrix methods for
adding matrix entries (InsertGlobalValues, SumIntoGlobalValues,
ReplaceGlobalValues).  This allowed the possibility that users would call those
base-class methods on a FECrsMatrix instance, and get unexpected behavior.
Those methods are now overridden.

4. EpetraExt - A global index was being used to ExtractMyRow in 
EpetraExt::MatrixMatrix:Add.  A local index is now used.

Release Update 8.0.6 May 5, 2008

Change number.  Package(s) affected - description

1. Isorropia and AztecOO - Bugs 3785, 3789.  (tests/examples only) Karen was
having some problems with multiply defined symbols using a 64 bit mac linker. I 
updated the test and examples she was having problems with to use the latest
Makefile.export capabilities. I do not have access to a 64 bit mac linker, but
I did make sure that epetra only appears on the link line once now for these
tests when --with-gnumake is used.

I previously make these changes to the dev branch. I did not apply all of the
changes I made to Isorropia to the 8.0 release branch because she wasn't
having trouble with the other tests and I tend to be conservative about the
changes I make to the release branch.

2. Sacado - Bug 3792. Replaced uint with unsigned int to fix build error on

3. Nox - Bug 3791.  (test only) Loosening norm tolerance to fix failure on

4. EpetraExt - Removed unnecessary ";" from end of namespace.

5. Belos - Bug 3830.  Removing unnecessary "typename" in declaration, use,
and return type of convertStringToScaleType().

6. Epetra - Bug 3800.  Fixing typos in CrsMatrix and RowMatrix documentation.

7. MOOCHO, Thyra, and RTOp - Bug 3842.  Removing headers from
machine-dependent install directory.  

8. Teuchos - Bug 3847.  Fixing incorrect LAPACK wrappers.

9. Belos - Bug 3863.  (tests only) Moving MPI_Finalize() calls before the
return calls.

10. Belos - Bug 3863.  (tests only) Updated definition file.

11. ML - Bug 3860.  Fixing compile error when only Teuchos, ML, and Epetra are

12. Ifpack - Bug 3875.  Fixing memory leak in Ifpack_IC::Compute().

13. ML - Moving over RefMaxwell enhancements from dev branch.

14. ML - Bug 3098.  Applying patch to address 32-bit integer overflow when
dealing with global number of matrix nonzeros.

15. ML - Bug 3098.  Patching the print out of smoother stats.

16. EpetraExt - Bug 3878.  Adding std:: to sort() and binary_search() calls.

17. ML - Changed sort to std::sort to fix cross-compile error on reddish.

18. EpetraExt - MatrixMatrix::Add was assuming that A and B can't be the same matrix.

19. ML - No comment made - Change related to hanging RefMaxwell test.

20. ML - Fixing warnings on SunOS.

Release Update 8.0.5 January 31, 2008

Change number.  Package(s) affected - description

1. PyTrilinos (Epetra) - Upgraded Epetra.FECrsMatrix square bracket operators.

2. PyTrilinos (Epetra, ML) - Bug 3694.  Change interface files that use
PyInt_Check() or PyInt_AsLong() to use SWIG_IsOK() and SWIG_AsVal_int()
instead.  This will increase the flexibility of type checks in the
resulting wrappers.  Adding the pyfragments.swg helped the 64-bit integer
problem, but these files had to be changed also in order for the upgrade to
implemented in this code, too.

3. PyTrilinos (Epetra) - Bug 3694.  Added PyArray_FILLWBYTE() to clear global
arrays before reduction operation.  Some PyTrilinos tests were failing because
the MPI reduction routines were returning garbage. This was fixed by clearing
out those arrays prior to the call.

4. Epetra - Bug 3694.  Changed incorrect MPI_INT arguments to correct MPI_LONG
arguments.  Two methods, MpiComm::MinAll(long*,long*,int) and
MpiComm::SumAll(long*,long*,int) had bugs: they called MPI_Allreduce with
MPI_INT rather than MPI_LONG as arguments. This change fixes that.
Interestingly, this never posed a problem until MPI PyTrilinos tests were
run on a 64-bit architecture.

5. PyTrilinos - Removed several test scripts from the MPI test suite.  I
removed testML_Preconditioner.py, exML_Simple.py and exML_Smoother.py from the
MPI test suite. These trigger a dynamic_cast<> in Epetra that I don't think
will be changed in Release 8.0.

6. PyTrilinos (EpetraExt) - 3742.  Added exception handling to EpetraExt HDF5
and XMLReader classes.This does not fix bug 3742, but it adds the catching of
std::logic_error exceptions and converting them to python RuntimeError

7. PyTrilinos - Added python code to change the python dlopen flags so that
symbols are shared across extension modules.

8. PyTrilinos - Re-enabled testML_Preconditioner.py, exMLAPI_Simple.py and

9. PyTrilinos - Fixed minor build bugs.  Removed -ansi -pedantic options from
ALL compilations; if-protected building libpytrilinos.{so,dylib} for the case
when *.o does not exist.

10. ML - Merging in change from ML dev to allow repartitioning with #
null space vectors > 1.

11. ML - Wholesale RefMaxwell merge from the dev branch.  This was the easiest
way of cleaning up the output issues in 8.0.

12. ML - Cleaning up output issues w/ RefMaxwell.

13. ML - Raise level for very_verbose output in RefMaxwell.

14. ML - Bugs 3057 (aux), 3098 (64 bit support).  Merging in two bug fixes
from the developer trunk:
1) aggregation with auxiliary matrix
2) integer overflow in debugging output
Merged in patch to fix integer overflow when caculating global statistics.
Also fixes potential overflow in repartitioning. Merged in Ray's fixes to
aggregation via an auxiliary matrix. In particular, Ray has fixed the
long-standing issue of aux being non-symmetric, i.e., it wasn't guaranteed
that a_ij and a_ji would be both dropped or both kept.

All tests pass on my workstation.

15. ML - Fixing problems in RefMaxwell wrt handling non-Hiptmair smoothers.

16. ML - Bug 3612 - Removing "using namespace std" from headers, adding std::
where necessary.Compiles with strict flags on my workstation, all tests pass.

17. ML - Merging in changes from dev version of User's guide.  New pdf version.

18. Anasazi - Removed all BlockDavidson/Epetra tests until solution can be
found for hanging tests. (Thyra tests seem fine)

19. Anasazi - re-enabled MPI tests of BlockDavidson solver, but only for one

20. Framework/Teuchos - Bug 3758.  I added the files in
Trilinos/packages/teuchos/refactoring and Trilinos/commonTools/refactoring to
the distribution tarball. I built a new tarball (with just teuchos) to make
sure all of the appropriate files are included and I rebuilt Teuchos.

21. Anasazi - Bug 3764.  Restoring changes for bug 1906 to Anasazi.  The
changes I made for bug 1906 (updating the list of fortran compilers to look
for) were accidentally overwritten by another developer the next time
configure.ac was modified. This was not detected for a while (nearly a year
and a half) because most users cache configure results.  In those cases the
Fortran compiler selected by Teuchos is automatically used by Anasazi. I
recompiled and ran some tests. This is not an issue on the development branch
because Anasazi no longer checks for a Fortran compiler.

22. Didasko - Bug 3780.  Adding conditional support for Belos in

23. PyTrilinos - Comprehensive changes to improve the stability of PyTrilinos.
User-visible changes:

* Added wrappers for Teuchos::Comm and derivatived classes. This
allows Teuchos tests to be enabled in parallel, and a new test,
testTeuchos_Comm.py, to be added to the test harness.

* Added wrappers for various additional Teuchos traits classes,
necessary to get the Comm classes to work as desired.

* Implemented standard exception handling across all PyTrilinos
packages. This includes a try block around every call to
Trilinos, and a catch(...) clause that should ensure that ANY
exception gets caught by the python interface. A generic
exception caught by catch(...) gets converted to a python

* exAztecOO_*.py example scripts updated so that they run properly
in parallel.

* Fixed certain problems that were preventing certain Epetra tests
from passing in parallel. If-protections against running in
parallel have been lifted.

User-invisible changes:

* Moved documentation directives from files such as Galeri_doc.i
into the parent interface file, Galeri.i. This unclutters the src
directory a bit and puts the specialized documentation near where
its python interface is defined.

* Added a PythonException class that converts python errors into C++
exceptions. This is useful in C++ constructors (such as those
used in the Epetra_NumPy* classes), where some cleanup is needed
and the appropriate exit is via an exception (which is then caught
by the wrapper and converted back to a python error).

* Refactored certain Epetra_NumPy* constructors to call cleanup()
method automatically upon failure (rather than relying upon the
user) and to throw a PythonException.

* Broke up Teuchos.i into smaller parts to simplify the top level,
and keep the wrapper directives for various tools collocated. For
consistency, Teuchos_ParameterList_ext.i was changed to
Teuchos_ParameterList.i and expanded.

* Provided #ifdef protection for packages that use Teuchos and
Epetra. The resulting wrappers usually won't be very useful if
Teuchos or Epetra are disabled, but the test harness should work
more gracefully when Teuchos or Epetra fail to configure or build.

* Implemented consistent curly-bracket formatting.

* Changed specialized Epetra row methods to call numpy.i functions
rather than the NumPy/C API directly.

24. PyTrilinos - Fixed compatibility problem with numpy 0.9.x.  In order to be
compatible with numpy 0.9.x, I need to use the old variable names (intp rather
than npy_intp, PyArray_DOUBLE rather than NPY_DOUBLE, etc.) in the source
files Epetra_NumPy*.cpp. If numpy 1.0.x is used, then a header file gets
included that treats these variable names as macros that get expanded to their
new names. With my latest commit, I had violated this convention, and this
commit fixes it.

25. PyTrilinos - Updated Doxygen-generated docstrings for python classes.

26. PyTrilinos - Fixing a minor typo in the definition of EXTRA_DIST.

Release Update 8.0.4 November 28, 2007

Change number.  Package(s) affected - description

1. Teuchos - Bug 3678.  This completes the templating of the serial-dense
matrix and vector class on OrdinalType. The OrdinalType should describe the
dimensional features of this class and, yet, the dimensions (rows, cols,
stride, etc.) were hard-coded to integers. This has been corrected.

2. PyTrilinos - Changed module documentation strings so that the format
better with python 'help' function and 'pydoc' shell command.

3. Framework level - Bug 3680.  Adding Trilinos_version.h to give macros that
announce the Trilinos version.

4. Didasko - Bug 3683.  Create tutorial information for Belos.

5. ML - Minor changes to doxygen comments.

6. Amesos - Bugs 1227, 2245.  Amesos_Klu was returning an error code when the
matrix was determined by KLU to be structurally or numerically singular. 
However, this error code was only being returned on the 0 processor, where the
work was being done. All the other processors received a 0 return value. Xyce
tries to use the return value to determine what to do, and the inconsistent
return values resulted in a hang.  Now a broadcast is used after the
computation of the symbolic/numeric factorization to get a consistent return
value to all processors.

A Test_Singular directory was added to test that the same return value was
received from all processors when a numerically singular matrix was

7. ML - Bug 3688.  Fixing compiler error when ML is configured without Ifpack

8. Epetra - Bugs 3692, 3697.  Fixed memory errors in SingletonFilter class.

9. Triutils - Bug 3685.  Added #include  needed by newer versions of

10. PyTrilinos - Bug 3709.  PyTrilinos now builds with a shared pytrilinos
library that houses the Teuchos_PythonParameter code and all of the
Epetra_NumPy classes. This prevents duplicates of this code from
being placed in different extension modules, which in turn
(should) prevent the RTTI system from getting confused on some

11. PyTrilinos - Added Teuchos_PythonParameter.cpp.

12. PyTrilinos - Improved output messages during build.

13. PyTrilinos - Added Teuchos_PythonParameter.cpp to EXTRA_DIST.

14. Rythmos - Bug 3710.  Adding code to compute response sensitivities at the
end of each timestep.

15. PyTrilinos - Bug 3694.  Added pyfragments.swg.in, which produces
pyfragments.swig in the build directory, which changes some of the
python-integer-to-C-integer conversion code to include logic for numpy array

16. PyTrilinos - Bug 3694.  Upgraded to new numpy.i that is C89 compliant.

17. PyTrilinos - Bug 3694.  The fix for bug 3694 was not sufficient for older
versions of numpy, as I found out when I tried the upgrade on beowulf. The
solution was to upgrade numpy.i to use swig fragments for the helper
functions and macros. This required a couple of minor tweaks in a couple of
other files as well.

18. PyTrilinos - Added min and max macros to Backward Compatibility fragments

19. Amesos - Bug 1227.  Changed singular matrix test to use output
comparison to determine pass/fail.

20. Anasazi - removed MPI test of problematic BlockDavidson test

21. Framework level - Inserting --enable-shared into the list of configure
args when PyTrilinos is enabled directly or indirectly and --enable-shared
was not already explicitly specified.

22. Teuchos - Bug 3726.  Modifications to RTTI use for shared libraries for
use by Python wrappers.

Release Update 8.0.3 October 19, 2007

Change number.  Package(s) affected - description

1. ML - Fixes bug 3652 by adding ifdef guards for EpetraExt

2. Several - Partial port to SGI machine sasg5000

3. PyTrilinos - Prabhu-fixed doxy2swig.py script and updated dox files

4. Teuchos, Anasazi, Didasko, Komplex, NOX, Triutils - Adding files for
building documentation to the distribution tarball

5. Several - Removing some obsolete lines from Doxyfile.options files for
several packages

6. Sacado - Fixed warning on SGI about missing return

7. Sacado - Disabled code that does not compile on Sun and updated 

8. Sacado - Made ModelEvaluator support t in_arg.  FEApp ModelEvaluator now
accepts t in_arg, although none of the models currently use t.

9. Epetra - Fixed incorrect usage of EPETRA_MAX in Epetra_MultiVector and
Epetra_IntVector. Restored original Epetra_Multivector tests.

10. ML - Updating how aggregation handles Dirichlet rows

11. Thyra - Modifications to Trilinos/packages/thyra/src/interfaces/
(Log message not available.)

12. ML - Changing solver defaults for problem type "Maxwell".

Release Update 8.0.2 September 19, 2007

Change number.  Package(s) affected - description

1. ML - ml.m was not being copied into the distribution tarball. This has been

2. PyTrilinos - Initial check-in of XML doxgen generation system

3. PyTrilinos - Updated new instructions for adding a Package

4. PyTrilinos - Updated support for documentation - TriUtils, EpetraExt,
AztecOO, Galeri, Amesos, Ifpack, Anasazi, ML, NOX

5. PyTrilinos - Prabhu provided a new doxy2swig.py script, which fixes a bug
involving text wrapping. This has allowed me to include extra header and
source files that I had been working around do to the symbol-length issue.

6. Framework level - Updated the user guide for version 8.0.

7. Framework level - Updated the tutorial for Trilinos 8.0. Specifically, I
updated the description of Trilinos to be more general, the build instructions
to account for the new make targets, and a few other changes.

8. NOX - Updating documentation - default doxyfile and bad html links.

9. Framework level - Updated the developer guide for version 8.0.

10. ML - Fix parallel errors when ML is configured with --enable-ml_timing.

11. ML - Updating ML version number that Doxygen reports to 'ML 6.1 in
Trilinos 8.0'.

12. ML - Updating list of files for which documentation is built.

13. Rythmos, Belos, EpetraExt, MOOCHO, NOX, Sacado, Stratimikos, Teuchos, 
Thyra - Commiting the merge (from the now dead) "milestone" branch

14. Framework level, PyTrilinos, Kokkos, Moertel, Pliris - Adding
documentation related files to the tarball.

15. PyTrilinos - Added manual documentation for Galeri, Teuchos, and Epetra.

16. Isorropia - Add Isorropia_autoheader.h to 'make install' target.

17. PyTrilinos (Teuchos) - Changed test to reflect new formatting

18. PyTrilinos - Added documentation for NOX and EpetraExt.  Re-enabled
EpetraExt HDF5 support.

19. MOOCHO, Thyra, Framework level - Port to SUN.  These are very minor
code changes to support the port to this compiler.

20. PyTrilinos - Updated automatically generated documentation; fixed Makefile

21. Thyra - Added missing support of f_poly in 

22. PyTrilinos - Added package directories to clean target.