PRRTE v3.x series
=================

This file contains all the NEWS updates for the PRRTE v3.x
series, in reverse chronological order.

3.0.12 -- 9 Sept 2025
---------------------
- PR #2269: Final update of NEWS and VERSION for release
- PR #2263: Multiple commits
   - Extend control over client connections
   - Ensure we have HNP node aliases
- PR #2255: Update NEWS
- PR #2254: Replace some incorrectly removed code
- PR #2253: Multiple commits
   - Update NEWS
   - Extend support for specifying tool connection parameters
   - Cleanup queries and completely register tools
   - Correct handling of tool-based spawn requests
   - Change no-foreign-tools default to "false"
   - Include node object when registering tool
   - Properly implement the "abort" operation
- PR #2245: Multiple commits
   - Adjust top session dir name
   - Update NEWS
- PR #2244: Multiple commits
   - Declare the process set during registration
   - Add support for client_connected2 server module upcall
   - Customize the OMPI "allow-run-as-root" doc snippet
   - Add some finer-grained connection support
- PR #2236: Protect against running with PMIx versions too high
- PR #2235: Check for PMIx version too high
- PR #2232: Multiple commits
   - Properly handle sigterm when started by singleton
   - Ensure to progress job launch for singleton
   - Update CI
   - Process deprecated "stop" CLI
   - Minor cleanups in tool connection
   - Add some missing command strings for debug output
   - Provide error message when ssh fails
- PR #2222: Multiple commits
   - iof/hnp: correctly handle short write to stdin
   - check for pthread_np.h header
- PR #2219: Update OAC submodule
- PR #2214: Multiple commits
   - Preserve source ID across API call
   - src/docs/prrte-rst-content: Add missing file to Makefile.am
   - Add external OMPI build CI
   - Remove debug output


3.0.11 -- 18 May 2025
---------------------
.. note:: This is a minor bug fix release to resolve
          a problem when running with schedulers that
          allocate at the individual CPU (vs the node)
          level. Users operating in such an environment
          need to add the ``--hetero-nodes`` option to
          their ``prte`` or ``prterun`` cmd lines, or
          set the ``prte_hetero_nodes`` MCA param to
          a value of 1, `t`, `T`, "true", or "True".
          Administrators of such systems can set the
          MCA param for their users by adding it to
          the default MCA param file for the 3.0.11
          installation.

- PR #2203: Update VERSION and NEWS for release
- PR #2201: Add missing OMPI cmd line option
- PR #2199: Properly handle hetero node configurations


3.0.10 -- 10 May 2025
---------------------
- PR #2195: Update NEWS for release
- PR #2194: Multiple commits
   - Remove stale Solaris references
   - docs: Add a "Last updated on:" HTML footer
- PR #2190: Multiple commits
   - Enable shim-based testing of PLM launchers
   - Roll version to 3.0.10
- PR #2186: Fix one more typo
- PR #2184: Fix typo
- PR #2182: Properly terminate RST label
- PR #2181: Add new CI test - build OMPI internally
- PR #2178: Don't link to pmixcc if we don't find it
- PR #2176: Multiple commits
   - Extend support for envar operations
   - Do not require PMIx wrapper compiler


3.0.9 -- 19 Mar 2025
--------------------
.. important:: This release contains configure logic to
               protect it from PMIx versions that have been
               updated to support the LTO optimizer as that
               infrastructure conflicts with the PRRTE v3.0
               series. PMIx versions v6.0 and above are not
               supported by the PRRTE v3.0 series.

- PR #2172: Update NEWS for release
- PR #2171: Multiple commits
   - Remove ALPS support
   - Require pmixcc be available to build PRRTE
   - Fix oob include/exclude matching
   - Constrain PMIx versions
- PR #2163: Protect against stone age HWLOC
- PR #2162: Multiple commits
   - Break thread deadlock
   - data_server: changes to handle first_read better
   - Allow "not supported" to be returned by query upcall
   - Try adding timeout to CI
   - Add PMIx v4.2 build
   - Fix the data server
   - Just ignore any lto settings
   - Accommodate changes in Slurm version string
   - Correctly support the OMPI stream-buffering option
   - Correct the handling of "prefix"
   - Correct syntax errors in RST files
- PR #2157: Update OAC submodule pointer
- PR #2147: Cleanup the pending lookup request when resolved
- PR #2145: Multiple commits
   - Fix inheritance
   - Provide a user error message when srun fails
   - Update NEWS
- PR #2142: Multiple commits
   - gcc compilation failure fixes
   - Update CI workflow
   - Silence warnings exposed by revised CI
- PR #2141: Multiple commits
   - Silence warnings exposed by revised CI
   - Add build against older PMIx CI
   - Add mpi4py CI
- PR #2137: Multiple commits
   - Add spawn_multiple test
   - Minor cleanups
   - Implement query support for PMIx resolve functions
   - Add ability to direct app GPU support
- PR #2125: hurd: fix build
- PR #2123: Refactor ranking algorithms
- PR #2109: Multiple commits
   - Add a test for CI purposes
   - Try a DVM-based action
   - Update users of pmix_os_dirpath_create
   - Remove the group CI as this release branch doesn't support it


3.0.8 -- 15 Dec 2024
--------------------
- PR #2103: Final update for release
- PR #2102: Remove stale config .m4 files
- PR #2100: Update NEWS and VERSION
- PR #2099: maintain correct ref count of child jobs
- PR #2097: Correctly parse map-by modifiers
- PR #2086: Propertly compute number of procs when not given
- PR #2082: Multiple commits
   - Enclose XML output in a high-level tag
   - Add support for show_help XML output
   - Properly build the nidmap
- PR #2076: Multiple commits
   - Register the singleton's nspace with the PMIx server
   - Fix data type declaration in data server


3.0.7 -- 13 Nov 2024
--------------------
.. important:: This release represents the expected end of
               the v3.0 series. Any follow-on bug fixes will
               be committed to the release branch, but are
               unlikely to generate an official release
               tarball.

- PR #2067: Update NEWS and VERSION for final release
- PR #2064: Multiple commits
   - Update help message to PRTE MCA parameter handling
   - Fix typo in Makefile
   - Fix rankfile use of relative node indexing
- PR #2060: Update NEWS and VERSION for release
- PR #2059: Protect against old PMIx versions
- PR #2057: Fix support for hetero LSF environments
- PR #2049: Cleanup show-help files
- PR #2047: Implement the PMIX_JOB_CHILD_SEP support
- PR #2044: Multiple commits
   - Add a threaded client example
   - Restore parsing of OMPI param files
- PR #2039: Unlock stdin target
- PR #2037: Pull a couple of fixes from master branch
- PR #2034: Fix deprecation warnings for ppr on socket objects
- PR #2032: Multiple commits
   - avoid warnings (as errors) spots (init vars, etc.)
   - remove unused Level var
   - init installdirs structure (avoids warn-as-error)
   - Pay attention to interface include/exclude params
   - Protect against the envar version of the Slurm custom args param
- PR #2018: fix support for MPIEXEC_TIMEOUT
- PR #2017: Update prte_portable_platform_real.h from upstream gasnet
- PR #2015: Always have show-help available
- PR #2013: Remove unused yaml
- PR #2011: Cleanup show help formatting
- PR #2009: docs: update for Python 3.12
- PR #2007: Fix a segfault when no arguments are provided
- PR #2005: Multiple commits
   - Remove unused function
   - Revise cmd line parsing to handle special case
- PR #2002: Update OAC to latest HEAD
- PR #2000: Use the PMIx functions to check params
- PR #1998: Protect against LTO optimizer
- PR #1996: Read the Docs updates
- PR #1994: Provide a warning of potentially unknown Slurm params


3.0.6 -- 8 Jul 2024
-------------------
- PR #1992: Update NEWS and VERSION for release
- PR #1991: Multiple commits
   - Protect against missing HWLOC object types
   - Minor fixes to allow compile with pre-stone age HWLOC
- PR #1988: Github action: bring back MacOS builds
- PR #1986: Tailored backport of "various fixes for singleton support"
- PR #1985: Multiple commits
   - Don't strip quotes from cmd line entries
   - Update tar format to tar-pax
- PR #1983: Check the runtime version of PMIx
- PR #1979: Multiple commits
   - Cleanup issues surfaced by devel-check
   - Cleanup unused var warning
   - Add CI build with clang
   - Enable devel-check by default in Git repos
   - Stop warning on LSF detection when not requested
   - Silence warning
   - MPI 4.1: add support for memory-alloc-kinds
   - Remove MacOS CI builds
   - Add support for PMIX_MEM_ALLOC_KIND
- PR #1971: Remove stale resilience document
- PR #1968: Try to improve an error message a bit
- PR #1966: Fix typo
- PR #1964: Repair the binding algorithm
- PR #1962: Correct name of help file for --hostfile
- PR #1959: Multiple commits
   - Update the allocation simulator
   - Use of pmix_getline from PMIx started in v4.2.5
- PR #1956: Multiple commits
   - Allow execution without an active plm component
   - Fix the binding algorithm to handle partial disablement


3.0.5 -- 21 Mar 2024
--------------------
- PR #1952: Multiple commits
   - Update docs
   - Update PMIx-related configure code
   - update the hwloc utility code
   - Add missing doc
- PR #1949: Update VERSION and NEWS for release
- PR #1946: Correct deprecation translation for use-hwthread-cpus
- PR #1936: Add missing show_help text
- PR #1933: Check for appfile and ingest it if found
- PR #1931: Multiple commits
   - Fix testing of suicide for daemons
   - Fix daemon suicide and preserve output files
   - Remove unused MCA param
   - Only trigger job failed to start once
   - Add "close stale issues" actions
   - oac: strengthen Sphinx check
   - Revamp the session directory system
   - guard against possible segfault in prted


3.0.4 -- 4 Feb 2024
-------------------
- PR #1918: Multiple commits
   - Support query for number of available slots
   - Add an option '--allow-run-as-root' into prted
   - Update the Python regex for doc build
- PR #1910: Fix the map-by pe-list option
- PR #1908: Multiple commits
   - Use pmix_path_nfs to detect shared file systems
   - Remove debug
   - Remove extra character at end of error messages
   - psets: fix some problems with PMIX_QUERY_PSET_MEMBERSHIP query.


3.0.3 -- 19 Dec 2023
--------------------
- PR #1893: Check for stdatomic.h
- PR #1891: add nodes to job data for ALL jobs included in the launch message
- PR #1888: Multiple commits
   - Minor tweaks of cmd line processing
   - Preserve the clichk test code for future use
- PR #1884: Multiple commits
   - Fix copy/paste error
   - Remove daemonize option from prterun
   - Fix the ras simulator module
   - Preserve backward compatibility
   - Check the PMIx version for min required
   - Correct min version for pmix_getline util
- PR #1877: Multiple commits
   - Remove the "refresh" key before requesting dmodx from PMIx server
   - Shift a code block to enable MCA param directive for ppr mapping
- PR #1870: Multiple commits
   - Begin to restore the detailed help topics
   - docs: add prrte-rst-content to conf.py's exclude_patterns
   - src/docs: update README.txt
   - Consolidate non-component show_help files
   - Add missing file
- PR #1865: Fix the seq mapper
- PR #1860: Multiple commits
   - prte.c: a prefix of "/" is ok
   - Correctly translate the plm_rsh MCA params
   - Fix add-hostfile and add-host operations
   - Add print functions for node, job, and proc flags
   - Add missing "acquire_object"
   - Fix handling of "--" in cmd line
   - Use global PRRTE event base for sigchld callback
   - Remove the event base param to prte_wait_cb
   - Fix OMPI cmd line processing
- PR #1846: Multiple commits
   - Restore the prun help strings
   - Restore prte_info show help topics
   - Recover the pterm show-help strings
- PR #1843: Avoid adding NULL prefix value to app attributes
- PR #1841: Multiple commits
   - Error out of attempts for 32-bit builds
   - Convert OMPI MCA params from legacy orte
   - Fix display of DVM allocation


3.0.2 -- 23 Oct 2023
--------------------
- PR #1832: Update NEWS for release
- PR #1831: Silence error log
- PR #1829: Multiple commits
   - docs/show-help-files: Re-enable Sphinx warning checks
   - Correctly forward stdin to remote procs
- PR #1826: Multiple commits
   - docs: document minimum PMIx version needed
   - prte_setup_pmix.m4: use PMIx min version from VERSION
   - Make checking min versions consistent
   - Update CPPFLAGS for HWLOC config tests
- PR #1822: Fix rpmbuild error
- PR #1821: Roll VERSION to v3.0.2


3.0.1 -- 27 Sep 2023
--------------------
.. important:: This release contains a major revision of the PRRTE
               documentation infrastructure. Accordingly, the various
               documents may contain some number of errors and should
               be regarded as a work-in-progress. We apologize in
               advance for any inconvenience this may create, and will
               continue to improve and correct the documents in future
               releases.

- PR #1818: Update VERSION and rename news file
- PR #1816: Correct confusion over help file names
- PR #1814: Update NEWS infrastructure
- PR #1810: Blacklist the HWLOC GL component to avoid deadlock
- PR #1807: Multiple commits
   - src/docs/show-help-files/Makefile.am: fix syntax
   - docs: Fix up several minor bugs that showed up via CI
   - Prototype Github Actions for PRRTE CI
- PR #1800: Keep trying to find the solution to the docs problem
- PR #1798: Keep trying to fix this Python stuff
- PR #1796: Don't ignore failure to create directory
- PR #1793: build-dummy-ini-files: Be safe for Python 2
- PR #1791: Update to track master branch
- PR #1787: Add support for dynamic definition of process sets
- PR #1784: Multiple commits
   - docs: fix HTML word wapping in table cells
   - Support fix for OMPI Github issue #11532
   - Fix binding to multiple pe's
   - Fix typos in the --enable-dlopen support
   - Fix typo of variable name (PRRTE->PRTE)
   - Remove Doxygen
- PR #1766: Multiple commits
   - Update ignores
   - mca/rmaps: impute process count when np is not set
   - Complete cleanup of map/bind default settings
- PR #1762: v3.0: .github/workflows: update actions versions
- PR #1752: [v3.0] rmaps/base: remove call to hwloc_bitmap_andnot() in bind_generic()
- PR #1747: Respect "--" marker
- PR #1741: [v3.0] RTD: Add .readthedocs.yaml file
- PR #1737: Multiple commits
   - Add debug output in fence upcall
   - Silence TSan data race warning.
- PR #1734: v3.0: backport fixes for ompi v5.0 submodule update
- PR #1727: Protect against bad ppr directives
- PR #1724: Fix one more place
- PR #1721: Just disable the xml map output for ancient hwloc
- PR #1718: Protect against ancient hwloc versions
- PR #1714: Multiple commits
   - Parsable output in an XML format
   - Support odd topologies and relax pe-binding rules
   - Cleanup some formatting and unnecessary debug
- PR #1705: Allow specifying ppr as the default mapping policy
- PR #1702: Multiple commits
   - Recoverable jobs may report more than one proc error over the lifetime
   - Fix double-counting of failed procs in recoverable jobs
- PR #1700: Update headers for rc2
- PR #1696: Always set waitpid-fired flag when proc exits
- PR #1694: Fix passing of envars for spawn
- PR #1692: Multiple commits
   - Plug small memory leaks.
   - Plug memory leaks.
   - Adhere to project's variable declaration convention.
   - Cleanup initial implementation of allocate and session ctrl
   - Protect one more place for Session_control
   - Fix the routing for non-tree-spawn launch
   - Cleanup prte_info output
   - Ensure we exit cleanly when a daemon fails to start
   - Store prted URI under correct name
   - Remove duplicate computation of routing tree
   - Minor cleanup of verbose output
   - Fix typo
   - Send direct to HNP if we don't know a route
   - Cleanup some mangled formatting
   - Cleanup some debug output
   - Update the pmix server integration
- PR #1686: Update config/oac submodule
- PR #1682: Multiple commits
   - Remove wrapper definitions
   - Extend example to check for sessionID and jobID
- PR #1678: Multiple commits
   - add --debug-daemon to prted options
   - Add the rml and routed types to prte_info array
- PR #1674: Ensure cmd line errors provide error messages
- PR #1672: Multiple commits
   - Correct default binding for map-by node/slot
   - Provide better error message for cross-package binding
   - Add missing command line directives
   - Fix minor issues found in tests.
   - Silence compiler warning in test/connect.
   - Silence compiler warnings in examples.
   - Use exit macros in example dmodex.
   - Remove antiquated code that can cause problems
   - Update sphinx requirements
   - Remove the PMIX_SIZE_ESTIMATE support
- PR #1660: Correct function name when using older hwloc versions
- PR #1658: Multiple commits
   - Properly handle overload-allowed
   - Define MIN for environments that lack it
   - Fix a typo in the README, fixes #1645
   - docs: fix Sphinx parsing error
- PR #1644: Multiple commits
   - Add a spawn_multiple test
   - Provide an estimate of the size of registration data
   - Provide size estimates for collective operations that return data
   - Add an option to display the available CPUs
   - Fix generate_dist type
   - Protect against missing attribute definition
   - Set distances array type
   - Add "parseable" display qualifier
   - Generate distances by default
   - Show help message when mapping too low
   - Fix round-robin by obj with multiple cpus/rank
   - Fix map-by slot and node for multiple cpus/rank
- PR #1633: v3.0.x: First cut of Sphinx/ReadTheDocs docs
- PR #1626: Remove unused variable
- PR #1622: Multiple commits
   - Update version to 3.0.1
   - Extend query support to include allocation info
   - Remove debug
   - Include topology in allocated node info
   - Minor touchups of the "fault" example
   - Designate the framework project as PRTE
   - Begin adding support for new server module function pointer
   - Silence warning - add return values
   - Update to compatibility with PMIx master ranch
   - Protect against earlier PMIx versions
   - Add an IOF stress test
   - Accept local group op upcalls
   - Check for and track scheduler attachment
   - Check for map/bind conflicting directive, improve unbound report
   - Don't error out on binding if not required
- PR #1600: Multiple commits
   - Minor change to check_os_flavors
   - Don't emit an error output if not needed
- PR #1597: Fix oac_check_package.m4
- PR #1595: build: fix bashisms in configure


3.0.0 -- 13 Nov 2022
--------------------
.. important:: This release represents a major update to the PRRTE
               code base from prior releases. Many of the changes will be
               transparent to the user. However, there are a few key areas that
               may (likely) impact users. These include:

                 - changes to the cmd line interpreter. PRRTE has provided an
                   abstraction layer that allows programming library developers
                   and environment vendors to customize the cmd line of PRRTE
                   binaries (e.g., prterun and prun). This is governed by the
                   detection of a "personality" that is to be used for defining
                   the cmd line options. The personality can be set either directly
                   on the cmd line itself (via the "--personality foo" option) or
                   is detected by PRRTE thru the environment.
                 - a more extensive "--help" support system.
                 - reduction in the "--rank-by" options.
                 - addition of new "--output" options
                 - removal of the "mindist" mapper due to lack of a maintainer

               There are quite a few more changes than listed here, but they mostly
               pertain to code internals. However, these dictate that PRRTE v3.0.0
               require use of PMIx v4.2 or above to compile. Note that this doesn't
               impact the PMIx level associated with any applications executed by
               PRRTE - the only requirement is that applications link against a
               PMIx version that meets the PMIx cross-version requirements (i.e., a
               minimum of PMIx v2.5).

Detailed changes include:

- PR #1412: Restrict PRRTE to PMIx v4.2+
- PR #1410: Remove schizo/hydra component
- PR #1409: Add new output options to help string
- PR #1407: Support a broader range of IO output formats
- PR #1404: Fix a hang in daemon callback
- PR #1402: Cleanup race condition in daemon reports
- PR #1399: Multiple commits
   - Allow mapping in overload scenario if bind not specified
   - Ensure rankfile and seq mappers computer local and app ranks
- PR #1394: Add forwarding of stdin to indirect example
- PR #1391: Change the default mapping for --bind-to none option to BYSLOT.

Branch from `master@f3d4089 <https://github.com/openpmix/prrte/commit/f3d4089>`_
