This file describes changes in recent versions of pdsh. It primarily
documents thos changes that are of interest to users and admins.

* Changes in pdsh-2.10 (2006-03-22)
===================================
 -- Fix for -w hosts parsing bug.
 -- Fix missing support for "-w user@hosts" in pdsh-2.9.
 -- Add support for command history in interactive mode with readline.
    Command history file is ~/.pdsh/history.
 -- (xcpu) Support for signals and -S.
 

* Changes in pdsh-2.9 (2006-03-15)
===================================
 -- Add netgroup module which provides -g/-X groupname option to read
    list of hosts from netgroup entries (/etc/netgroup or NIS).
 -- Add support for specifying alternate rcmd connection type and/or
    remote username for a subset of hosts on the commandline. Format
    is ``-w [rcmd_type:][user@]hosts...''
 -- (genders) Add support for pdsh_rcmd_type genders attribute to set
    the default rcmd connection type for certain hosts via the genders
    database.
 -- Add a trivial form of privilege separation to pdsh when pdsh or pdcp 
    binaries are installed setuid root. This is necessary to safely support 
    multiple rcmd connection methods in a single invocation of pdsh. 
    Currently, the privileged process in pdsh is only used to serve reserved 
    ports to threads that need it (e.g. rsh, qsh), while allowing all threads
    to still run as the "user" to support ssh and mrsh. This is *not*
    a security enhancement, and doesn't make installing pdsh setuid root 
    any more secure.
 -- (ssh) Allow arguments to ssh command to be overridden and augmented
    with environment variables PDSH_SSH_ARGS and PDSH_SSH_ARGS_APPEND.
 -- Fix for race condition in ssh support which caused occasional pdsh
    hang, especially when running with a larger fanout.
 -- Fix for ``-x hosts'' processing bug: occasionally hosts provided to
    -x option would not be removed from the list of targets because the
    list of excluded hosts was being processed too early.
 -- Fixes for Mac OSX support: Update libtool/ltmain.sh and test for
    and include sys/uio.h.
 -- Add support for LANL XCPU.

* Changes in pdsh-2.8 (2005-10-13)
===================================
 -- (dshgroup) Fix bug in dshgroup module which resulted in the module
    trying to read only from ~/.dsh/group/ even if /etc/dsh/group/
    should have been used.  (patch from Joe Ramey <ramey@it.com>)
 -- Print error strings returned by remote RCP server instead of generic
    "Failed to initiate RCP protocol."
 -- Allow hostlist expressions to have suffixes (e.g. foo[0-10]-bar).
 -- Fix for command timeout when its value is less than connect timeout.
 -- (ssh) Remove ssh_reaper thread and instead reap child ssh processes
    within each thread spawned by pdsh. This fixes reported problem
    under LinuxThreads.
 -- (sdr) Fix assertion failure if host_responds info exists in SDR
    for a node number that doesn't exist in Node class. 

* Changes in pdsh-2.7 (2005-08-15)
===================================
 -- Add dshgroup module which adds -g/-X groupname to utilize dsh-style
    "group" files in ~/.dsh/group/groupname || /etc/dsh/group/groupname.
 -- Fix possible truncation of output when poll() returns POLLHUP before
    all data has been read. 
 -- Close pdsh file descriptors opened to ssh commands before invoking 
    subsequent ssh connections to fix possible pdsh hang with -Rssh.
 -- Replace setenv() & seteuid() with putenv() & setuid() for portability.
 -- Module path elements now considered secure if they have same ownership	
    as pdsh binary (as well as either root or current user). Allows pdsh
    to be installed with other than root ownership.

* Changes in pdsh-2.6 (2005-08-02)
===================================
 -- (ssh) Fix pdcp hang with ssh on HP-UX (and possibly other systems).
    (Yehia Beyh <Yehia.Beyh@hp.com>)
 -- Remove pdcp debugging code released with pdsh-2.5.

* Changes in pdsh-2.5  (2005-07-21)
===================================
 -- (ssh) Added ssh "reaper" thread to collect exit status of ssh commands
    invoked by pdsh. At the end of the pdsh or pdcp run, any non-zero
	exit status from ssh will be written to stderr instead of silently 
	ignored.
 -- (genders) Added genders "query" support for genders versions that
    support this functionality. (Al Chu <chu11@llnl.gov>)
 -- (ssh) Fix for a possible pdsh hang when running with ssh on Mac OS X.
 -- (qshell) Fix for m/qshd failure on nodes without an elan3 adapter.
    (Daniel Blueman <daniel.blueman@quadrics.com>)
 -- Update path to xinetd script in pdsh specfile (Daniel Blueman).
 -- Don't increase number of open files rlimit until after rcmd modules
    are initialized in case rcmd module increases fanout.
 -- Don't consider directory permissions insecure when other has write
    access if the sticky bit is set.

* Changes in pdsh-2.4  (2004-12-08)
===================================
 -- (mrsh) Update to mrsh protocol version 2.1, provided by mrsh >= 2.3.
    This version of the protocol allows connections over "localhost."

* Changes in pdsh-2.3  (2004-11-22)
===================================
 -- Support copying files >2GB in pdcp.
 -- Increase max number of open files to the hard limit if 
    a large fanout is requested.

* Changes in pdsh-2.2  (2004-07-30)
===================================
 -- Do not abort when excluded hosts are not within the target list.
 -- (slurm) Allow multiple SLURM jobids to be passed to -j option.

* Changes in pdsh-2.1  (2004-06-09)
===================================
 -- Fix dshbak script to allow whitespace in hostname "tags"
    (Ashley Pittman <ashley@quadrics.com>).
 -- Fix broken QsNet support on Elan3 systems without libelanctrl.
 -- Explicitly set thread stack size to 128K to avoid arbitrarily
    large stack set from current rlimit under Linux/NPTL.

* Changes in pdsh-2.0  (2004-05-26)
===================================
 -- Reorganized pdsh source tree.
 -- Modularized pdsh functionality into dynamic runtime "modules."
   - Moved remote command api (e.g. rsh, ssh, etc.) into "rcmd" modules.
   - New pdsh option `-R' for selection of rcmd type at runtime.
   - All other optional functionality moved into "misc" modules (e.g. genders).
   - See README.modules in pdsh distribution for more information.
 -- Package core pdsh functionality and pdsh modules separately in order to
    make pdsh installation much more flexible.
 -- Removed pdsh dependency on rcp. Rcp server code used by pdsh is now
    coded directly into pdcp. (Note: This means pdcp *must* be installed
    on all target nodes)
 -- Added mrsh and mqshell client modules, as well as mqshd server for Munge
    authenticated rcmd() support.
 -- Added SLURM module to build list of targets from SLURM allocations.
 -- (genders) Added "-X" option to exclude targets based on genders attributes.
 -- (genders) Multiple attributes may now be passed to "-g" and "-X."
 -- (genders) "-a" renamed to "-A" -- "-a" now skips any nodes in genders
    database with "pdsh_all_skip" attribute.
 -- (genders) New "-F" option to specify non-default genders file.
 -- QsNet support now requires "/etc/elanhosts" config file (see README.QsNet).
 -- QsNet support includes support for QSW elanctrl interface. (Elan3/Elan4)
 -- Added support for running Elan network error resolver thread in qshd/mqshd.
    (Elan3 only)
 -- Nominal support for Elan multirail jobs (largely untested). See
    qshell and mqshell `-r railmask' option.

$Id: NEWS 1039 2006-03-22 21:30:11Z grondo $
