=======================
HISTORY: MPI for Python
=======================

:Author:       Lisandro Dalcin
:Organization: CIMEC_
:Address:      PTLC, 3000 Santa Fe, Argentina
:Contact:      dalcinl@gmail.com
:Web Site:     http://mpi4py.scipy.org/
:Date:         $Date$
:Revision:     $Revision$


.. contents::

Release 0.4.0 (2007-06-01)
==========================

* support for direct communication of objects exporting single-segment
  buffer interface, should work with numpy/numarray/Numeric.

* support for non-blocking communications. Request/Prequest classes
  are now fully implemented and functional.

* full support for parallel I/O and one-sided communications.

* almost full support for parallel process management.

* support for using many MPI-2 features availables in some MPI-1
  implementations. Added option '--try-mpi-2' to 'build' command. Use
  it to test for MPI-2 features available in a MPI-1 implementations,
  or a incomplete/broken MPI-2 implementation.


Release 0.3.1 (2002-08-02)
==========================

* setup.py: 
  
  - Simplified build process, now based in 'mpicc' compiler,
    by request and suggestions from Brian Granger.

* mpi/MPI.py:

  - Removed '@staticmethod' decorators in order to support Py2.3,
    by request from Brian Granger.

* mpi/ext/libmpi.c:

  - Removed call to MPI_Init().

* mpi/ext/pickle.c:

  - Added faster pickling support.

* mpi/ext/macros.h:

  - Updated to support Open MPI implementation.

* mpi/ext/mpi_cobj.c:

  - Removed support for CObject.


Release 0.2.0 (2005-05-25)
==========================

* mpi/MPI.py:

  - file mpi/mpi.py renamed to mpi/MPI.py

  - Corrected a bug in Op.__init__ method, moved initialization code
    of some private attributes to Op.__new__ method.

  - Added SWIG and CObject support to all MPI types using an improved
    mechanism.

* mpi/MPU.py:

  - file mpi/mpu.py renamed to mpi/MPU.py


* mpi/ext/libmpi.[c,h]:

  - Added files libmpi.[c,h]. They contains all code previously
    located in files mpi/ext/*object.[c,h].

  - Added new extension module ``libmpi`` wich exports API pointers
    using the approach suggested in
    http://www.python.org/doc/2.3.5/ext/using-cobjects.html

  - Added number methods to all MPI types (except ``Status``) in order
    to support truth value testing. All predefined objects
    ``MPI_<OBJ>_NULL`` now have a truth value of ``False``.

* mpi/ext/mpi.c:

   - Implemented cart_map() and graph_map().

  - Corrected a bug in errhandler_free(), format string for
    PyArg_ParseTuple() changed from "O" to "O&".

  - Renamed file mpi/ext/mpi4py.c to mpi/ext/mpi.c; removed file
    mpi/ext/mpi4py.h.

  - Extension module ``_mpi`` use the new ``libmpi`` module to get the
    C API.

* mpi/ext/mpi_swig.i:
  
   - Changed typemaps for MPI objects. Now accepting PySwigObject and
     PySwigPacked indistinctly.
    
   - Extension module ``_mpi_swig`` uses the new ``libmpi`` module to
     get the C API. Converter functions renamed to
     ``as_<Type>`` and ``from_<Type>``.

* mpi/ext/mpi_cobj.c:

  - Extension module ``_mpi_cobj`` containing CObject support uses
    uses the new ``libmpi`` module to get the C API. Converter
    functions named ``as_<Type>`` and ``from_<Type>``.


Release 0.1.0 (2005-01-09)
==========================

This is the first release of *MPI for Python*.


.. _CIMEC:            http://www.cimec.org.ar/
