From 7216e3eed345d96a20179857bacca0e68752919e Mon Sep 17 00:00:00 2001 From: Yao Xu Date: Wed, 28 Oct 2026 20:54:41 -0400 Subject: [PATCH] MANA v1.6.0 release --- CHANGELOG.md | 62 +++++++++++++++++++++++++++++++++++++++++++++++++--- VERSION | 2 +- configure | 18 +++++++-------- 3 files changed, 69 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a0d5f56f..4b5df96ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,9 +16,13 @@ TODO for all releases: - Create a new git tag (e.g., v1.2.0) - Update CHANGELOG.md - Update VERSION -- Review and update any README.md files (e.g., mpi-proxy-split/README.md). -- Review and update https://github.com/mpickpt/mana-doc and propagate - to readthedocs.io +- Review and update README.md. +- Review and update the man page, manpages/mana.1.md, and its date. + Then regenerate manpages/mana.1 in manpages/: + pandoc -s -o mana.1 mana.1.md +- Review and update MANA's website, https://mpickpt.github.io/mana/ + (source in doc/), and "The current release" on its home page, + doc/index.md. - Finally, go to github and do a new release there. - Attach a source tarball that includes DMTCP to the release. GitHub's "Source code" archives leave out the dmtcp submodule. After @@ -30,6 +34,58 @@ TODO for all releases: rm dmtcp.tar && gzip mana-1.2.0.tar ---> +## [1.6.0] - 2026-11-05 + +We're pleased to announce `MANA` 1.6.0 ! + +### What's new +* MANA runs with Open MPI 4.1 and 5.0, in C and in Fortran, and GitHub + Actions now tests it with Open MPI too (PR #529). +* MANA uses DMTCP's main branch (PR #544). +* `MPI_Ssend` and `MPI_Issend` are wrapped (PR #522). +* Attributes work as the standard says, in C and in Fortran, including + MPI-1's `MPI_Keyval_create` and `MPI_Attr_*` calls (PR #535, #546, #547). + +### Fixed +* Checkpoints and restarts could hang after `MPI_Comm_free`, with + non-blocking collectives started at different times, or with + back-to-back checkpoints (PR #541, #545). +* Checkpoints could hang with non-blocking collectives started in different + orders on two communicators, with `MPI_Comm_create_group`, or with an + `MPI_Issend` on a freed communicator, and were slow after many + `MPI_Comm_free` calls. Each communicator now has its own Collective Clock + (PR #552). +* `make install` installed only DMTCP, and `make uninstall` failed. Now they + install and remove MANA too, with `--prefix` and `DESTDIR` (PR #559, #561). +* Threads that mapped memory at the same time could get overlapping memory + or crash at a checkpoint, and memory that `realloc` grew was lost at a + restart (PR #537, #543, #548). +* An application's POSIX shared memory was not saved (PR #544), and `argv` + pointed to the wrong strings after a restart (PR #528). +* `mana_launch` and `mana_restart` on another node could find no + coordinator; fixed in DMTCP (#523). + +### Changed +* Building MANA needs a C++20 compiler (PR #544). +* `configure` no longer accepts `--enable-logging` or `--enable-timing`. + DMTCP's trace messages are turned on at run time, with + `DMTCP_LOG_LEVEL=trace` (PR #544). +* The sources moved from `mpi-proxy-split/` to `src/`, `test/`, `examples/` + and `bench/`, and the `mana_*` scripts to `scripts/`; `bin/` holds only + build output. In an existing checkout, run `make distclean` before + updating and `./configure` after (PR #559, #560). +* `make` builds only MANA. `make tests` builds the tests, examples and + benchmarks, and `make check` runs the tests (PR #558). +* `configure` finds the MPI compilers: the `mpicc` first in `PATH`, or `cc`, + `CC` and `ftn` with the Cray Programming Environment. `MPICC`, `MPICXX` + and `MPIFC` override them, and `configure-mana` is removed (PR #556). +* `configure` checks out the DMTCP submodule when `dmtcp/` is empty + (PR #557). +* `mpicc_mana`, `mana_start_coordinator`, the `MPI_COLLECTIVE_P2P` build + mode and obsolete tools and documents are removed (PR #554, #555). + +**Full Changelog**: https://github.com/mpickpt/mana/compare/v1.5.0...v1.6.0 + ## [1.5.0] - 2026-10-05 We're pleased to announce `MANA` 1.5.0 ! diff --git a/VERSION b/VERSION index bc80560fa..dc1e644a1 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.5.0 +1.6.0 diff --git a/configure b/configure index 721326b6d..8c379aa29 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for MANA 1.5.0. +# Generated by GNU Autoconf 2.71 for MANA 1.6.0. # # Report bugs to . # @@ -610,8 +610,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='MANA' PACKAGE_TARNAME='mana' -PACKAGE_VERSION='1.5.0' -PACKAGE_STRING='MANA 1.5.0' +PACKAGE_VERSION='1.6.0' +PACKAGE_STRING='MANA 1.6.0' PACKAGE_BUGREPORT='https://github.com/mpickpt/mana/issues' PACKAGE_URL='https://github.com/mpickpt/mana' @@ -1251,7 +1251,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures MANA 1.5.0 to adapt to many kinds of systems. +\`configure' configures MANA 1.6.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1313,7 +1313,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of MANA 1.5.0:";; + short | recursive ) echo "Configuration of MANA 1.6.0:";; esac cat <<\_ACEOF @@ -1409,7 +1409,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -MANA configure 1.5.0 +MANA configure 1.6.0 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1610,7 +1610,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by MANA $as_me 1.5.0, which was +It was created by MANA $as_me 1.6.0, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -6129,7 +6129,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by MANA $as_me 1.5.0, which was +This file was extended by MANA $as_me 1.6.0, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -6185,7 +6185,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -MANA config.status 1.5.0 +MANA config.status 1.6.0 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\"