Copyright (c) 2015-2016 Intel, Inc.  All rights reserved.
Copyright (c) 2016-2017 IBM Corporation.  All rights reserved.
$COPYRIGHT$

Additional copyrights may follow

$HEADER$

===========================================================================

This file contains the main features as well as overviews of specific
bug fixes (and other actions) for each version of PMIx since
version 1.0.

As more fully described in the "Software Version Number" section in
the README file, PMIx typically maintains two separate version
series simultaneously - the current release and one that is locked
to only bug fixes.  Since these series are semi-independent of each
other, a single NEWS-worthy item might apply to different series. For
example, a bug might be fixed in the master, and then moved to the
current release as well as the "stable" bug fix release branch.

1.2.1
-----
- dstore: Fix data corruption bug in key overwrite cases
- dstore: Performance and scalability fixes
- sm: Use posix_fallocate() before mmap
- pmi1/pmi2: Restore support
- dstore: Fix extension slot size allocation (Issue #280)


1.2.0
-----
- Add shared memory data storage (dstore) option. Default: enabled
  Configure option: --disable-dstore
- PMIx_Commit performance improvements
- Disable errhandler support
- Keep job info in the shared memory dstore
- PMIx_Get performance and memory improvements



1.1.5
-----
- Add pmix_version.h to support direct detection of PMIx library version
- Fix support for Solaris 10 by using abstract version of strnlen
- Fix native security module for Solaris by using getpeerucred in
  that environment
- Ensure man pages don't get installed in embedded builds
- Pass temporary directory locations in info keys instead of
  the environment


1.1.4
-----
- Properly increment the reference count for PMIx_Init
- Fix examples so all run properly
- Fix/complete PMI2 backward compatibility support to handle
  keys that are not associated with a specific rank
- Do a better job of hiding non-API symbols
- Correct handling of semi-colon terminations on macros.
  Thanks to Ashley Pittman for the patch
- Add more man pages
- Improve error checking and messages for connection
  attempts from client to server
- If the tmpdir name is too long, provide an appropriate
  help message to the user (particularly relevant on
  Mac OSX). Thanks to Rainer Keller for the patch.
- Fix some C++ compatibility issues
- Fix/complete PMI-1 backward compatibility support
- Do not install internal headers unless specifically
  requested to do so
- Add support for multiple calls to Put/Commit
- Silence some "return code unchecked" warnings. Thanks
  to Jim Garlick for pointing them out
- Resolve a race condition during register_clients


1.1.3
-----
- Update the symbol hiding file to cover all symbols
- Fix examples and test directory Makefile.am's so
  the Makefiles are automatically built and the
  code compiled, but not installed
- Do not install the pmix library in embedded use-cases


1.1.2
-----
- Provide a check for hwloc support - if not found, then
  don't pass any topology info down to the client as it
  won't know how to unpack it anyway.
- Fix a few places where thread safety wasn't provided
- Fix several issues identified by Paul Hargrove:
    * PMIx_Init(NULL) is supported
    * Incomplete PMIx_constants man page had some lingering cruft
    * Missing prototype for pmix_value_load
- Fix race condition in PMIx_Get/PMIx_Get_nb
- Fix double-free error in pmix_server_commit.
- Fix PMIX_LOAD_BUFFER to be safe.


1.1.1
-----
- Fix an issue where the example and test programs
  were incorrectly being installed. Thanks to Orion
  Poplawski for reporting it


1.1.0
-----
- major update of APIs to reflect comments received from 1.0.0
  non-production release
- fixed thread-safety issues
- fixed a range of pack/unpack issues
- added unit tests for all APIs


1.0.0
------
Initial public release of draft APIs for comment - not production
intended
