*January 22, 1999 	Werner G. Krebs <werner.krebs@yale.edu><wkrebs@gnu.org>

	Version 1.11 Jan 1999

	Modified apparent load average to compute expected load average
	AFTER job starts. New formula is:

	load = (avg[0] + 1.0)/((max(0, qp->q_vmaxexec - qp->q_nexec)+1)*qp->q_pfactor);

	Old formula was:
  
       load = avg[0]/((max(0, qp->q_vmaxexec - qp->q_nexec)+1)*qp->q_pfactor);

	We can think of the effective load average as being the inverse of
	the computing power of the loaded machine AFTER the next CPU
	guzzling job starts, i.e., 1/ (MIPS/(jobs)), where jobs = load + 1.
	The old formula computed 1/(MIPS/(jobs - 1)). In an unloaded
	cluster (load == 0), pfactor (MIPS) would not be taken into 
	consideration. The new formula remedies this, sending the
	job to the fastest machine (highest pfactor) if all machines
	are unloaded.

	Added sigsetmask.c as REPLACE_FUNC for SunOS.
	Added defines to queue.h and changes to configure.in for SunOS.
	Merged getopt.c and getopt1.c and renamed getopt_long.c, added
	to configure.in as REPLACE_FUNC so they won't get compiled in
	when not needed. -lbsd should no longer be necessary for SunOS
	(although it is still in configure.in).

	Replaced _cleanup() with fflush(NULL) as suggested by
	Nick Burrett  <nick.burrett@btinternet.com>.

	Fixed the NO_ROOT hack on non-GNU/Linux machines (really
	on machines without /proc; have to detect this in ./configure
	someday....) that calls uptime and scanfs the load-averages in.

*Mon Jan 18 16:27:31 1999  Nick Burrett  <nick.burrett@btinternet.com>

	* queued.c (waitforchild): Change wait status union type to int.
	Cast status to void* for calls to `wait3'. 

*January 14, 1999	Werner G. Krebs <werner.krebs@yale.edu><wkrebs@gnu.org>

	Version 1.10 patchlevel 3 Jan 1999

	Added rlimits for Alpha platform.


*January 14, 1999	Werner G. Krebs <werner.krebs@yale.edu><wkrebs@gnu.org>

	Version 1.10 patchelevel 2 Jan 1999

	Missing strdup in queued.c code caused hostname weirdness on
	the Digital Alpha platform.
	
*January 13, 1999	Werner G. Krebs <werner.krebs@yale.edu><wkrebs@gnu.org>

	Version 1.10 patchlevel 1 Jan 1999

	Misplaced bracket in qlib was causing a malloc error on some systems.

*January 13, 1999	Werner G. Krebs <werner.krebs@yale.edu><wkrebs@gnu.org>
	
	Version 1.10 Jan 1999

	Primarily, compilation and Makefile 
	patches for Digital Alpha Unix OSF/1; thanks
	to Piergiorgio Alotto <alotto@die.unige.it> for providing an
	account on his Alpha for the port.
	
	Added missing getopt1.c code that would have prevented
	compilated on platforms missing getopt_long in their libc.

	Changed configure.in and other files to support global package
	VERSION variable.

	"--version" outputs version if QHOSTSFILE fails to exist.

	Also includes a minor IRIX compilation fix.

	Queue load balancing and batch processing system

	Also, redid ChangeLog format.

	Added FAQ-O-MATIC documentation system to Web page; add your own
	documentation to the system!

	Minor manual corrections

*January 2, 1999     	Werner G. Krebs <werner.krebs@yale.edu><wkrebs@gnu.org>
	
	Version 1.099p2

	Fix to queued.c to send output of batched jobs properly. Bug spotted
	by Carlo Strozzi <carlos@linux.it>.

	Fix to queued.c to allow sendmail to work with NO_ROOT (paranoid
	sendmails ignored outgoing mail with NO_ROOT.)

	Fix to configure.in to include -crypt on some platforms.

	Fix to queue.c to allow crypt() to compile properly with ONE_WAY.

*January 1, 1998        Carlo Strozzi <carlos@linux.it>.

	Makefile bugfix (didn't add name of local machine to qhostsfile 
	correctly; also problem with install-info. Bug fix courtesy of 
	Carlo Strozzi.)

*December 29, 1998      Werner G. Krebs <werner.krebs@yale.edu><wkrebs@gnu.org>

	Version 1.099p1

	Deleted braces in configure script which were causing problems
	on non-Linux systems.

*December 28, 1998      Werner G. Krebs <werner.krebs@yale.edu><wkrebs@gnu.org>
 
	Version 1.099, December 1998

	Added code to read host ACL from file courtesy of Dave van Leeuwen.

	Blinking-lights automatic installation.

	Improved documentation. Added texinfo manual. We now have a 30+
	page comprehensive manual for GNU Queue!

	Added "--enable-root" option to ./configure script; this option
	must be used for root, cluster-wise install (formerly the default
	and still the preferred option). Since non-administrators are
	presumably less sophisticated, the default was changed
	to install for these users.

	Numerous bugfixes.

	Name changed to GNU Queue to reflect adoption by the FSF GNU project.

	Added GNU-style long-options support to the executables
	(e.g., "queue --version" is supported.)

	Renamed batchd.c to queued.c; old queued.c now called handle.c;
	is linked into new queued.c for efficiency. [The only reason for
	running handle() as a separate executable was to allow a debugger
	to trace handle(); debuggers normally can't follow a program after
 	a fork.]

	HP-UX 10 compile fixes.

	Added "qsh" syntax to allow for backward compatibility with systems
	than expect an rsh/remsh-type command. '+' is wild-card host,
	meaning allow Queue to pick where to run the command.

	"qsh" is first stage of MPI support; so noted in documentation.

	Realized that there could be port confusion if a queue is killed
	and a new queue subsequent uses the same port; added cookie
	passing to solve this problem. With NO_ROOT, privileged ports
	aren't available, so cookies also stop malicious users on the
	same cluster from spoofing queue.

	Added one-way trap function crypt() to allow queued to 
	authenticate itself to queue when running NO_ROOT without
	privileged ports. If privileged ports are availabe
	(NO_ROOT is undefined) or verifiable ports are available
	(HAVE_IDENTD is defined; see below) crypt() is replaced
 	with a do-nothing function to eliminate the performance hit.
	Cookies are still used in the other direction to prevent
	port confusion.
		
	NO_ROOT install can't use privileged ports, so added identd support
	with HAVE_IDENTD option to prevent queued (and queue) spoofing from
	within the cluster in cases where the cookies aren't
	good enough; see manual.

	Added "onlyhost" field to binary exchange file; modified batchd.c,
	queue.c, and queued.c accordingly. Added prefhost and onlyhost
	options to queue.c . This is necessary to fully support qsh
	command syntax, needed for MPI support.

	Changed defaults for "queue" to full-pty, wait around, immediate
	execution. "qsh" defaults to no-pty, wait around, immediate
	execution.

	Added "-H hostname" option to by-pass "onlyhost" field; -H makes
	hostname the preferred host, but jobs will be sent elsewhere if
	hostname is down. "-h hostname" now only allows execution on
	"hostname". This was necessary for MPI support with "qsh."
	
        Disabled the "feature" that required queued (formerly batchd)
 	to be started with a full pathname. This means the 
	"restart signal" won't work (unless you actually _have_ 
	started queued with a full pathname),
	but it makes starting queued more intuitive. To restart, you
	just SIGTERM and run again now. (Or, invoke with full pathname
	and send the traditional re-start sigal.)


* November 26, 1998 	Werner G. Krebs <werner.krebs@yale.edu><wkrebs@gnu.org>
	
	Version 0.23b Patchlevel 5, November 1998

	Added NO_ROOT compile option to allow use of some Queue features
	without root privileges. (Everything must be installed and run
	as the same UID.)

* November 26, 1998 	Werner G. Krebs <werner.krebs@yale.edu><wkrebs@gnu.org>

	Version 0.23b Patchlevel 4, November 1998

	Solaris compilation fixes.

* November 25, 1998	Werner G. Krebs <werner.krebs@yale.edu><wkrebs@gnu.org>

	Version 0.23b Patchlevel 3, November 1998

	Minor HP-UX conflict fixes.
	Fixed HP-UX dirent.h / ndir.h conflict in define.h

* November 19, 1998	Werner G. Krebs <werner.krebs@yale.edu><wkrebs@gnu.org>

	Version 0.23b Patchlevel 2, November 1998

		Also, made changes to make it compatible with GNU/Linux SuSE 5.0 with kernel 2.0.35 :

	renamed struct qelem to qelem_queue,
	
	also implemented sa_mask changes using long int pointer cast as this seems the most portable solution.

* November 19, 1998    Dave van Leeuwen <dave@elec.canterbury.ac.nz>

	Bugfix courtesy of Dave van Leeuwen <dave@elec.canterbury.ac.nz>

	Modifications:
	*  line 35 of queue.h, changed extern char **host; to extern char *host[]; as
	   gcc 2.7.2.3 on linux would not find any host other than the first one.
	*  line 742 in queued.c changed
	      if(*command[0] == '/') strcpy(file,command[0]); to
	      if((*command[0] == '/') || (*command[0] == '.'))  strcpy(file,command[0]);
	    to run relative commands (ie ./x, ../../bin/x etc)

* November 7, 1998	Werner G. Krebs <werner.krebs@yale.edu><wkrebs@gnu.org>

	Version 0.23b Patchlevel 1, November 1998

	Commented out free() in localhost() in batchd.c

* August 27, 1998	Werner G. Krebs <werner.krebs@yale.edu><wkrebs@gnu.org>

	Version 0.23b, August, 1998

	Added GNU autoconf and automake support; re-wrote header files and
	#ifdefs to take advantage of autoconf's capabilities; as a result
	the code is now much more portable and ports readily to a large number
	of platforms. 

	Added SGI IRIX support as a result. Tested platforms now include
	GNU/Linux, HP-UX, SunOS 5.6, Solaris, and IRIX.

	Eliminated the va_dcl stuff in queue.c as it is a portability nightmare
	and not really necessary, various other minor changes to source.

	Updated documentation to reflect autoconf and other changes.

	Updated TODO list to reflect preferences of users on mailing list.


* August 20, 1998	Werner G. Krebs <werner.krebs@yale.edu><wkrebs@gnu.org>

	Version 0.22b August, 1998

	Upgraded to beta after large numbers of downloads without bug reports
	(I know there are bugs left. :-) But, the code is obviously usable. )

	Fixed Makefile install bugs :-) Added uninstall option.

	Increased SLEEPTIME to 120 to work better on larger clusters.

	Added setuid() in queue to correspond to principle of least privilege;
	also allows users to send queue signals via KILL instead of just via
	the keyboard (I.e., this was a bugfix) :-)

	Added Solaris support courtesy of Igor Schein.

	Minor changes to documentation.

	Announced queue-tips list (write to 
	queue-tips-request@bioinfo.mbb.yale.edu to join.)

* August 18, 1998	Werner G. Krebs <werner.krebs@yale.edu><wkrebs@gnu.org>

	Version 0.21a August, 1998

	Queue was ported to Linux with minor modifications to support this new
	environment and released in alpha version to the general public under a
	GPL agreement.

* Circa 1995	Werner G. Krebs <werner.krebs@yale.edu><wkrebs@gnu.org>

	Version 0.20a Circa 1995

	In response to user requests for better control of batch capabilities,
	queue was merged with the apparently non-copyrighted,
	'freely-redistributable' batch suite of Alex White 'and many others.'
	Specifically, code from batchd now monitored multiple directory
	queues, imposing limits (such as load average requirements, maximum
	number of jobs in each queue, priorities, etc) on jobs run in batch
	processing mode. Batchd was modified to accept jobs from queue and
	spawn jobs via a modified queued rather than directly. In addition, a
	command was added to support the new mutliple-host environment and
	allow conditions (such as load average restrictions, maximum number of
	jobs) to specified different for different hosts in the cluster from
	the same configuration file.

* Circa 1994	Werner G. Krebs <werner.krebs@yale.edu><wkrebs@gnu.org>

	Version 0.10a Circa 1994

	In-house alpha version original designed as a simple replacement to
	rsh for a homogeneous cluster of HP-UX hosts in order to do load
	balancing over the network. The stub mechanism and pty mechanisms,
	allowing users to background and foreground remote jobs by
	backgrounding and foregrounding the daemon/stub, was already firmly in
	place in this version. Queue placed files into a single directory,
	which was then monitored and run by the queued.





	