Many thanks to Leo Fang (@leofang) for helping with this release and his GPU-related contributions.
**WARNING**: This is the last release supporting Python 2.
* New features:
+ `mpi4py.util`: New package collecting miscellaneous utilities.
+ Add pickle-based `Request.waitsome()` and `Request.testsome()`.
+ Add lowercase methods `Request.get_status()` and `Request.cancel()`.
+ Support for passing Python GPU arrays compliant with the `DLPack`_ data
interchange mechanism ([link][DIM]) and the `__cuda_array_interface__`
(CAI) standard ([link][CAI]) to uppercase methods. This support requires
that mpi4py is built against [CUDA-aware MPI][CAM] implementations. This
feature is currently experimental and subject to future changes.
+ `mpi4py.futures`: Add support for initializers and canceling futures at shutdown.
Environment variables names now follow the pattern `MPI4PY_FUTURES_*`, the
previous `MPI4PY_*` names are deprecated.
+ Add type annotations to Cython code. The first line of the docstring of functions
and methods displays a signature including type annotations.
+ Add companion stub files to support type checkers.
+ Support for weak references.
+ Add a new mpi4py publication ([link][DOI]) to the citation listing.
Senior Research Scientist
Extreme Computing Research Center (ECRC)
King Abdullah University of Science and Technology (KAUST)http://ecrc.kaust.edu.sa/