2. Sections  MPI Operations and  MPI Procedures on pages  MPI Operations and  MPI Procedures.  
  
  
  Added the definition of the  
   enabled operation state.  
 
 
 
3. Sections Choice, Fortran Binding Issues, and Support for Fortran  
  on pages Choice, Fortran Binding Issues, and Support for Fortran.  
  
  
  The  MPI standard now reflects that TS 29113  
  was superceded by Fortran 2018.  
 
 
 
4. Sections Deprecated and Removed Interfaces, Address and Size Procedures, Extent and Bounds of Datatypes, True Extent of Datatypes, Use of General Datatypes in Communication, Associating Information with Status,  
    and Deprecated since  MPI-4.1  
    on pages Deprecated and Removed Interfaces, Address and Size Procedures, Extent and Bounds of Datatypes, True Extent of Datatypes, Use of General Datatypes in Communication, Associating Information with Status,  
    and Deprecated since  MPI-4.1.  
    
  
     MPI_TYPE_SIZE_X,  MPI_TYPE_GET_EXTENT_X,  
    
  
     MPI_TYPE_GET_TRUE_EXTENT_X,  MPI_GET_ELEMENTS_X, and  
    
  
     MPI_STATUS_SET_ELEMENTS_X  
    were deprecated and may be removed in a future version of the  MPI specification.  
 
 
 
5. Sections Deprecated and Removed Interfaces, Predefined Intra-Communicators and Environmental Inquiries on pages Deprecated and Removed Interfaces, Predefined Intra-Communicators and Environmental Inquiries.  
  
  
   MPI_HOST has been deprecated, and a mention to host process has been removed.  
 
 
 
6. Sections Deprecated and Removed Interfaces, Overview, Fortran Support Through the mpif.h Include File, Deprecated since  MPI-4.1  
  on pages Deprecated and Removed Interfaces, Overview, Fortran Support Through the mpif.h Include File, Deprecated since  MPI-4.1.  
  
  
  Deprecated the use of mpif.h.  
 
 
 
7. Section Functions and Macros on page Functions and Macros.  
  
  
  Removed the functions  MPI_WTIME,  PMPI_WTIME,  
   MPI_WTICK, and  PMPI_WTICK from the list of functions  
  that may be implemented as a macro.  
 
 
 
8. Section Functions and Macros on page Functions and Macros and  
  Section Transfer of Handles on page Transfer of Handles.  
  
  
  Removed the ability to implement  MPI handle conversion functions as a macro.  
 
 
 
9. Sections Progress, Non-Destructive Test of  status, General Active Target Synchronization,  
  and Example Progress  
  on pages Progress, Non-Destructive Test of  status, General Active Target Synchronization,  
  and Progress.  
  
  
  The  progress rules  
   were clarified in general  
  and for  MPI_REQUEST_GET_STATUS and  MPI_WIN_TEST.  
  The terms  strong  
  and  weak progress were introduced.  
  An example showing restrictions on the use of  MPI shared memory for  
  synchronizing purposes was introduced.  
 
 
 
10. Sections Return Status and Associating Information with Status on pages Return Status and Associating Information with Status.  
  
  
  Added procedures  MPI_STATUS_GET_SOURCE,  MPI_STATUS_GET_TAG, and  MPI_STATUS_GET_ERROR to query  MPI status fields  
  and procedures  MPI_STATUS_SET_SOURCE,  MPI_STATUS_SET_TAG, and  MPI_STATUS_SET_ERROR to set  MPI status fields.  
  Direct access to these fields remains available.  
 
 
 
11. Section Buffer Allocation and Usage on page Buffer Allocation and Usage.  
  
  
  Automatic (unlimited) buffering is added, which can be enabled by using  MPI_BUFFER_AUTOMATIC in any of the buffer attach procedures.  
  New procedures  MPI_COMM_ATTACH_BUFFER,  MPI_SESSION_ATTACH_BUFFER,  
   MPI_COMM_DETACH_BUFFER and  MPI_SESSION_DETACH_BUFFER  
  have been added.  
  The buffers attached with the existing functions  MPI_BUFFER_ATTACH and  MPI_BUFFER_DETACH  
  now only apply to communicators that have no buffer attached at the communicator or session level.  
  New procedures  MPI_COMM_FLUSH_BUFFER,  MPI_SESSION_FLUSH_BUFFER, and  
   MPI_BUFFER_FLUSH were added as a combination of detach and attach, as well as the corresponding  
  nonblocking variants  MPI_COMM_IFLUSH_BUFFER,  MPI_SESSION_IFLUSH_BUFFER, and  
   MPI_BUFFER_IFLUSH.  
 
 
 
12. Subsection Non-Destructive Test of  status on page Non-Destructive Test of  status  
 
  
   
 Added new procedures  MPI_REQUEST_GET_STATUS_ANY,  MPI_REQUEST_GET_STATUS_SOME,  
 and  MPI_REQUEST_GET_STATUS_ALL to query the statuses of multiple requests without freeing them.  
   
 
 
 
13. Section Decoding a Datatype and MINLOC and MAXLOC on pages Decoding a Datatype and MINLOC and MAXLOC.  
  
  
  Added procedure  MPI_TYPE_GET_VALUE_INDEX to query predefined  
  datatype handles for pairs of value and index types to be usable in  
  conjunction with  MPI_MINLOC and  MPI_MAXLOC.  
  Added combiner  MPI_COMBINER_VALUE_INDEX for unnamed type handles  
  returned by  MPI_TYPE_GET_VALUE_INDEX.  
 
 
 
14. Section Communicator Constructors on page Communicator Constructors.  
  
  
   MPI_COMM_TYPE_RESOURCE_GUIDED was added as a new possible value for the  split_type  
  parameter of the  MPI_COMM_SPLIT_TYPE procedure, as well as a new info key  
   mpi_pset_name.  
 
 
 
15.   
  Section Communicator Destructors on page Communicator Destructors.  
  
  
  The definition of  MPI_COMM_FREE was clarified.  
 
 
 
16. Section Communicator Info on page Communicator Info.  
   
  
   A new info key was added, namely  
    mpi_assert_strict_persistent_collective_ordering.  
 
 
 
17. Sections Communicator Info, Starting  MPI Processes, The Sessions Model, Memory Allocation Info, Reserved Keys, Window Creation, and File Info  
    on pages Communicator Info, Starting  MPI Processes, The Sessions Model, Memory Allocation Info, Reserved Keys, Window Creation, and File Info.  
    
  
    Added the ability to request support for, query support of, and assert  
    usage of memory allocation kinds via two new info keys,  
     mpi_memory_alloc_kinds and  
     mpi_assert_memory_alloc_kinds.  
 
 
 
18. Section Naming Objects on page Naming Objects  
  was amended to allow  MPI_COMM_NULL,  
   MPI_DATATYPE_NULL, and  MPI_WIN_NULL to be  
  passed to  MPI_COMM_GET_NAME,  
   MPI_TYPE_GET_NAME and  
   MPI_WIN_GET_NAME, respectively.  
 
 
 
19. Section Inquire Hardware Resource Information on page Inquire Hardware Resource Information.  
  
  
  Added new procedure  MPI_GET_HW_RESOURCE_INFO.  
 
 
 
20. Section Error Codes and Classes on page Error Codes and Classes.  
  
  
  Added new error class  
   MPI_ERR_ERRHANDLER.  
 
 
 
21. Section Error Classes, Error Codes, and Error Handlers on page Error Classes, Error Codes, and Error Handlers.  
 
  
 Add procedures  MPI_REMOVE_ERROR_CLASS,  MPI_REMOVE_ERROR_CODE,  
  MPI_REMOVE_ERROR_STRING to complement the procedures adding error classes/codes/strings.  
 
 
 
22. Section Initialization on page Initialization.  
  
  
  Relaxed the constraints on the windows for which shared memory can be queried using  
   MPI_WIN_SHARED_QUERY to allow windows with flavor  MPI_WIN_FLAVOR_CREATE  
  and  MPI_WIN_FLAVOR_ALLOCATE.  
 
 
 
23. Section Window Creation on page Window Creation.  
  
  
  Added new info key  mpi_accumulate_granularity to specify a desired  
  synchronization granularity of accumulate operations.  
 
 
 
24. Section Window Destruction on page Window Destruction.  
  
  
  Implementations may avoid synchronization of processes in  MPI_WIN_FREE  
  if the  no_locks info key is set to  true.  
 
 
 
25. Section General Active Target Synchronization on page General Active Target Synchronization.  
  
  
  In Example General Active Target Synchronization,  MPI_PUT has been removed from the list  
  of procedures that may delay their return waiting for the call to  MPI_WIN_POST to occur at the target.  
   MPI  RMA communication procedures are generally not intended to delay their return waiting for synchronization procedure calls  
  to occur at the target.  
 
 
 
26. Section Semantics and Correctness on page Semantics and Correctness and  
  Section Examples on page Examples.  
  
  
  Clarified the use of  MPI_WIN_SYNC for memory synchronization on shared memory.  
 
 
 
27. Section Binding  MPI Tool Information Interface Variables to  MPI Objects on page Binding  MPI Tool Information Interface Variables to  MPI Objects.  
  
  
  The text specifying when entities of the  MPI Tool Information Interface can   
  be bound to objects during the object's lifetime was clarified.  
 
 
 
28. Section Handling Dropped Events on page Handling Dropped Events and  
    Section Category Member Query Functions on page Category Member Query Functions.  
    
  
    Behavior specified when the count of dropped events or category changes overflow, respectively.  
 
 
 
29. Annex Summary of the Semantics of all Operation-Related  MPI Procedures on page Summary of the Semantics of all Operation-Related  MPI Procedures.  
  
  
  The annex has been completed with the operation-related  
   MPI procedures for one-sided communication and some other rarely used scenarios.  
  It is now integrated into the  MPI standard.