1$Id: CHANGES,v 1.20 2008/02/27 19:35:46 garbled Exp $
2
3* Release 2.5 *
4
5Add -b option to pcp.  This adds the ability to reverse the operation of pcp
6and use it to gather files from remote machines, rather than push to them.
7
8Add -t (test) option to all the utilities.  This allows the user to perform
9a quick port-is-active test on each node, before attempting to run the remote
10commands on those nodes.
11
12Switch the default RCMD's from rsh to ssh by popular demand.
13
14Change the RCMD_CMD and similar settings parsing to allow the user to set
15RCMD_CMD to something like "ssh -v" and have it work properly.
16
17Fix dsh interactive mode on linux.
18
19Fix timeout handling on linux, and fix the bug where -x didn't work if there
20were no groups present in the clusterfile.
21
22Run all of clusterit through coverity until all bugs were fixed (mostly memory
23leaks)
24
25Add dtop, a distributed top command.
26
27Add -s option to dsh.  This adds the ability to copy a script to a remote
28machine, execute it, and delete it, all in a single operation.
29
30Add RCP_CMD_ARGS processing to pcp.
31
32* Release 2.4 *
33
34Fix jsd to work properly on Linux.
35
36Fix stdin command mode on all the utilities.
37
38Make jsh and jsd more robust.  Keep jsd from permanently losing it's nodes.
39
40Fix pdf to work on Linux.
41
42Add a -v option to all programs to tell the user what version of
43ClusterIt they are running.  CVS will allways have _BETA tagged on the end,
44and it will be removed at release.
45
46Add RVT_CMD_ARGS to dvt, to allow passing of args to rvt
47
48Incorporate patches from debian xvt package into rvt:
49Fix xvt manpage typos
50Add -rv (reverse-video) option
51Better colormap handling
52All other patches were either irrelevant (makefile fixes, etc) or allready
53incorporated.
54
55Fix pdf to work on linux hosts
56
57Replace most instances of sprintf with snprintf. Did not touch rvt, as I would
58prefer to keep that as unmodified as possible, and most of them would not
59be easy to fix anyhow.
60
61Replace most instances of malloc with calloc.   Mostly to prevent any
62unanticipated wierdness, and a few of the mallocs were immediately followed
63by memset commands anyhow.
64
65Add RCMD_CMD_ARGS to most of the programs. This makes it easier to do
66things like run "ssh -4" as your RCMD_CMD.
67
68Stop allocating the command to be run on the remote end as buf[MAXBUF],
69instead compute it at runtime and dynamically allocate it to prevent
70possible overflow on a huge command.
71
72Fix a bug noted by Jot Powers, where trailing whitespace on a GROUP or LUMP
73entry would cause dsh -g to not match it.
74
75Fix a bug noted by John Bales  where linux machines often recieved truncated
76output from the child ssh/rsh process.
77
78Fix bug where all the programs would mangle argv[0] for ps.
79
80* Release 2.3.1 *
81
82Fix a bug noted by James F Wilkus on OpenBSD where dsh would segv when
83reading the clusterfile.
84
85Convert seq over to rseq fully, not just for linux anymore.  Sigh.
86
87Fix the clusterit.spec file to work properly.  Tested on redhat
88
89* Release 2.3 *
90
91Made all remote commands use poll instead of a while loop to read the incoming
92stream of data from stdout and stderr.  This fixes bug where linux ssh will
93hang up.
94
95Fixed linux command line argument processing.
96
97Changed the -l <username> processing to invoke RCMD_CMD with user@host rather
98than -l user host.  This makes it much more reliable.
99
100Added an option to dsh to test remote ports before connecting.  This can be
101useful where a remote host might be down, and a long timeout would occur
102waiting for a response.
103
104Updated rvt to use a newer set of sources from xvt.  Fixes questionable
105licensing in xvt, and makes it more reliable.
106
107Converted makefiles to autoconf for ease of porting.  No more stupid patch
108sets which were a terrible burden to maintain and generate.
109
110ANSIfyed most of the code (other than rvt). Nobody uses KNF anymore.. sigh..
111
112Incorporated many patches sent by users from the internet.  I have
113unfortunately lost track of what patch came from who, but thier help is
114greatly appreciated.  Most of these patches either fixed bugs, added stability
115or fixed porting bugs.  The xvt conversion was based mainly on a patch sent
116in by a user.  My thanks go out to those of you who have sent them in.
117
118# changes since 2.2
119
120* Release 2.2 *
121Missing this data, sorry
122* Release 2.0 *
123
124Added dvt and rvt..  an interactive form of dsh with xterms.
125
126Fixed a bug in jsd and dsh where it would lock up running ssh waiting for
127input.
128
129Add a jsd dir, and move jsd.c from dsh to the jsd dir.  Add nearly complete
130jsh program, and jcommon.[ch].
131
132Add new common subdir and move a tonnage of crap in there.  Mainly
133common.c, common.h and strsep.c.
134
135Fix horrid bug in dsh where dsh | more would lock terminals up.  Still
136need to fix in seq, run, probably pcp.
137
138Add <netinet/if_ether.h> to barrierd.c to shut AIX C up.
139
140Lots of minor bugfixes, mostly dealing with failures to open files, opening
1410 byte clusters, etc etc..
142
143Pcp was still using it's own code to parse strings and groups.  Fully rewrote
144the back-end internals to use the new linked-list stuff, and utilize common.c.
145Pcp's code is now virtually identical to dsh, whereas before it had diverged
146significantly.
147
148Error handling has finally graduated to where I no longer feel that it
149"needs work".
150
151Fix a place where malloced data was strcatted to without being bzeroed.
152
153Group, exclusion and -w nodes are now dynamicly generated arrays.  Removes
154the MAX_GROUPS restrictions.
155
156The nodelist and grouplists are no longer maintained in any way similar to
157the original setup.  Nodes are not stored in a flat array of nodes, with a
158corresponding flat array of group names.  Nodes are now stores in a linked
159list of machines to run on.  Nodes which are not to be run on, are not
160included in this list, so the back-end routines only need to execute code
161on every node they are handed in the linked list.  This is all handled in
162common.c now.  This removes the all compile time restrictions on MAXNODES,
163allowing the program to scale much more efficiently.
164
165# changes since 1.3
166* Release 1.3 *
167
168Break dsh, run and seq's common code into a common.c and common.h file,
169so I don't forget to add options to run and seq when fixing dsh.  Also, fix
170some locations where run and seq were out of sync slightly.
171
172Fix a bug in pdf where if the -m option was used, filesystems at 100%
173would not be displayed.
174
175Handle ^C's correctly.  If a remote process is hung, and it is the current
176process being read, you may ^C it, and the interrupt will be sent to the
177remote process.  This would be just like hitting ^C on the remote end,
178and will only affect the process you are currently reading from.
179
180Added ability to pcp multiple files and wildcards to remote hosts.
181
182Made pcp and dsh compile on an ANSI compiler (IBM C, SUN C)
183
184Make output from dsh look nicer, and format well.
185
186# changes since 1.2
187* Release 1.2 *
188
189Bug fixes in dsh to deal with the start of a fangroup, and
190a race condition, where large output would cause it to hang
191waiting for descriptors to die.
192
193Fix a bug in dsh that caused it to lose data on AIX, and
194dump core when transitioning fangroups.
195
196Added the rungroup, and exclusion commands to all the programs.
197
198Fix pdf to work on a heterogeneous cluster.
199
200Add concurrency to pcp, to eliminate startup latency lossage.
201
202Take some of the work out of the main loop in pcp, and only do it
203once.  This should speed up serial copies by small amount.
204
205Fix seq, and run to actually work.  Use a semi-atomic test and set
206to create the seq file, so it actually runs through the nodes, rather
207than execute on the same one over and over.
208
209* Release 1.1 *
210#no data previous to 1.1.  Sorry.
211