September 21st, 1999	GNATS 4.0 alpha.2 "squirrel-2"

This is another update to the alpha release.  This one theoretically
allows adding new fields by merely inserting them in the configuration
file, and changing the header strings of fields, but this capability
has not been tested.

It's still very preliminary, and there are any number of known bugs.
Lots of work remains (separating the header name from the field name
would be a start, and fixing the known bugs).  I wanted to get this
out so that the .2 people that care would perhaps play with it, but
that seems unlikely ("CVS? What's that?").

August 24th, 1999	GNATS 4.0 alpha "squirrel-1"

I, Bob Manson <bmanson@juniper.net> having usurped GNATS
maintainership from the tenacious and wily grasp of Jason Molenda (who
valiantly fought for hours, nay days over it), I have decided to
further muddy the waters and try to add my own mark of ownership upon
that which is GNATS.

This is a horribly preliminary release of what will become GNATS 4.0.
It is considered way-blooding-nasty software, and you will verily lose
if you try to use it for anything other than playing.  It has
successfully been built on Solaris 2.6, Linux with glibc2.1, and some
release of FreeBSD (uname returns 2.2.8, whatever that means).

The most obvious external change is that the format of the fields in
the database are described in an external file (field-config).
Eventually it will be possible to add new fields via this
configuration file.  Presently this may only be used to change
existing fields, and it is not even possible to change simple things
like the name of a field.

The format of field-config is documented via some random and sundry
comments within it.  Eventually the parser will say something slightly
more useful than "syntax error at line xxx", and the lexer will cease
spewing out unrecognized keywords and characters to stdout.  Until
that day, be amused.

nquery-pr has been deleted, and its functionality is (mostly) merged
into query-pr.  ("Mostly" meaning that it is necessary to specify a
network-specific option such as --host in order to get it to do
network queries; this is lame lossage that needs to be fixed.)

It is also possible to do boolean searches via query-pr. Two new
options, `--and' and `--or' have been added.  There is currently no
support for this functionality via the network interface.

Boolean searches are constructed left-to-right, and there is currently
no parenthesis or other way to restructure queries.  Eventually a full
expression query syntax will be added, although the current search
functionality will be maintained.

Internally the code has undergone major surgery.  (I'm not even sure
where to start describing this.)  Searches are now consolidated into a
"QueryExpr" struct.  All of the global variables in qvariable.c have
been deleted, as well as most of the miscellaneous ones.  The madness
with "is_remote", and the random end-of-line variables is gone.  A lot
of static infrastructure surrounding fields has been removed.  A
generic interface has been added to the "random administrative files";
the contents thereof may eventually be merged into the field-config
file.  Several new structures have been added.  And with plenty of
other bad losingness added, I'm sure.

I just read the "PROBLEMS" file for the first time.  Hopefully most of
the real bug-type problems listed are moot. except for the
documentation issues.  ("Documentation is like castor oil: programmers
hate it, so managers claim it must be good for you.")

There's still a pile of work to do; much of it has been documented in
the TODO file.  Note that in these changes a Juniper-specific field
has been added.  This has been my benchmark for where in the process
things are; when it's totally included in the external config with no
mention of it elsewhere, that's presumably a good sign.

---------------------------------------------------------------------

November 7th, 1999      GNATS 3.113

This release fixes a number of small bugs that remained in the 3.112
release.  We're working towards a final stable 3.x release--there are
probably one or two more 3.x releases to go to catch the last few small
problems.

The main problem addressed in 3.113 is a bug where the Resent-Cc
generated by gnats did not put commas between addresses.  The result
was that e-mail notifications about PRs were not delivered correctly.

Gnatsweb has been upgraded to v2.5.  tkgnats has been upgraded to v3.0.14.

The following PRs in the gnats database are fixed with 3.113:

     gnats/6   gnats/8   gnats/11   gnats/13   gnats/17

The following people helpfully provided patches for this release:

  Darrin B. Jewell <jewell@bdi.com>
  <m.seaman@inpharmatica.co.uk>
  Martti Kuparinen <martti.kuparinen@research.zopps.fi>
  Andreas Luik <Andreas.Luik@orthogon.de>
  Palle Girgensohn <girgen@partitur.se>

Thanks everyone!

September 21st, 1999    GNATS 3.112

This release is a bug-fix release off of 3.111; no new features were
added.  Any future development should be part of the 4.0 trunk,
although 3.x will probably be maintained for some period of time.

This addresses the "coredump in file-pr" bug. It also includes some
additional changes from Debian to work around glibc-2.1 misfeatures,
as well as fixing a few GNATS bugs dealing with memory misallocations.

August 26th, 1999       GNATS 3.111

This release is a bug-fix release off of 3.110; no new features were
added.  Any future development should be part of the 4.0 trunk,
although 3.x will probably be maintained for some period of time.

April 8th, 1999		GNATS 3.110

The Official GNATS homepage is now:
	http://sourceware.cygnus.com/gnats/

We're not keeping it as up to date as we should, so keep your
bookmarks for the Cyclic GNATS pages and all of the other wonderful
stuff out there on the web live.

This release is primarily a bug-fix release off of 3.108, with some
relatively minor new features and portability fixes.  There was no
3.109 due to some early code accidently leaking out.  See the
gnats/ChangeLog file for details.

The bigest news was actually down in the contrib/ directory --

Ken Cox has provided an absolutely fantastic WWW based front end
to GNATS called gnatsweb which supports all the new features, such
as multiple databases and customized fields.  We've dropped the
CERN WWW gnats and Dan's wwwgnats packages out of the distribution
since they were not being maintained by the authors and no longer
worked with later versions of GNATS.

For users of the Juniper web-based reports, I've made some major
improvements in the query/report generation interface, and will
either be stealing some of Ken's ideas for stored reports, or
hooking in an alternate report generation mechanism into the existing
gnatsweb.

November 18th, 1998	GNATS 3.108

Major changes to the way GNATSD does locking.  Please update your
front-end programs that edit PR's through GNATSD as appropriate.
The code has been cleaned up significantly, but is not compatible
with old lock methods.

See ChangeLog and UPGRADING for details.


October 21, 1998	GNATS 3.107

  GNATS is even more Y2K compliant then 3.106 (getdate.y fixed).

  Multiple Database Support

   One set of GNATS clients can now handle multiple databases. It's no
   longer necessary to recompile for each database. A new file,
   gnats-adm/gnats-db.conf, contains GNATS_ROOT and alias names for
   each database. Network clients such as nquery-pr and npr-edit only
   accept the alias names. See the documentation in the info files
   (make info).

  Expanded Index

   The GNATS index now contains all PR fields except for the multitext
   fields such as Description and How-To-Repeat. This gives a
   tremendous performance improvement to query operations. In a
   database of 2000 PRs, a query for a string in the Synopsis field
   dropped from 4 minutes to 2 seconds.

   Any front-end or utility that accesses GNATS index files directly
   will likely need modification. Note also that the index delimiter
   has changed from ":" to "|".

  Host and User Access Control

   The gnastd.conf file now accepts IP addresses as well as host
   names. Wildcard characters "*" and "?" are supported for both. The
   second field of this file is now the default access allowed for the
   host. Access levels are: deny, none, view, viewconf, edit and
   admin. 

   A new file, gnats-adm/gnatsd.access, contains userids, passwords
   and access levels for the specific database. Wildcards are
   supported for the userids and passwords. The same file can be
   placed into /etc, where a fourth field comes into play that is a
   list of database aliases. Wildcards are supported for these
   aliases. Thus, the file becomes a global place to store and manage
   these permissions. See the documentation in the info files (make
   info).

  Upgrading From Previous Version of GNATS (QuickStart)

   The GNATS index changed in release 3.106 and now again in release
   3.107.  The following steps will update you. They assume that your
   GNATS_ROOT is /usr/local/share/gnats/gnats-db and you've built the
   sources in /usr/local/src/gnats/gnats-3.107-beta. Change for own
   own situation.

   From any prior version of GNATS prior to 3.106 (even the ancient
   3.2) to GNATS 3.107:

        $ cd /usr/local/share/gnats
        $ cp -pR gnats-db gnats-db.BACKUP
        $ cd gnats-db/gnats-adm
        $ /usr/local/src/gnats/gnats-3.107-beta/gnats/gen-closed-date --test
        $ /usr/local/src/gnats/gnats-3.107-beta/gnats/gen-closed-date
        $ gen-index > index

   From GNATS 3.106 to GNATS 3.107:

        $ cd /usr/local/share/gnats/gnats-db/gnats-adm
        $ mv index index-3.106
        $ gen-index > index

June 26, 1998

3.106 fixes a number of the limitations found in earlier versions
of GNATS:  

  GNATS is now Y2K compliant.

  Customizable classes and states
  
   This upgrade implements customizable classes and states
   (previously, the lists of possible Problem Report classes and
   states were hardwired into GNATS). The states patch is from the
   Cyclic web page and the class patch is based on it.
   
  State and Class Types

   Both the "classes" and "states" files have a new field, "type".
   Your existing "classes" and "states" files will have to be modified
   because this new field has been place between the name and
   description.

   The only defined class type is "class", but it's not actually used
   for anything.

   The only defined state types are "open" and "closed". The "open"
   state isn't currently used for anything. Changing the state of a PR
   to any state of type "closed" will set the Closed-Date field with a
   time stamp. Changing the state of a PR from one "closed" state to
   another will leave the Closed-Date field as it was. Changing the
   state of a PR from any state of type "closed" to a non-closed state
   will clear the Closed-Date field.  The "--skip-closed" option of
   query-pr and nquery-pr looks at the state types for the "closed"
   type, not for a state name of "closed".

  New PR field "Release-Note:" (multitext)

   The "Release-Note:" field was added for human readable (user
   friendly) comments about problems or fixes (suitable for
   incorporation into release notes for a given software
   distribution).

  New PR field >Closed-Date:

   The Closed-Date field works in conjunction with the state type
   "closed". See State and Class Types above. 

  query-pr, nquery-pr and gnatsd checking "Closed-Date" date field

   There are new query-pr and nquery-pr inquires for PRs closed before
   or after a specified date: 
   [-z | --closed-before=date] [-Z | --closed-after=date].
   For gnatsd: CBFR and CAFT.

  New program "gen-closed-date" to help with transition to this release

   - adds Closed-Date field for all existing PRs, with time set for PRs 
     with a State that is of type "closed".
   - changes the Audit-Trail from "oldstate-newstate" to "oldstate->newstate".
   - it restores the original PR file timestamp after each PR is rewritten.
   - run with "--test" arg to see what it will do without actually making
     any updates.

   Running make will build this program but it doesn't get installed because
   you should only need to run it once. Running it repeatedly does no harm.
   You may decide after running it once that you want the "suspended" state to
   be type "closed". Just update the states file and rerun gen-closed-date.

  New option to list the GNATS config file

   This helps front-end and script writers to more easily determine
   the GNATS configuration, especially when used remotely. The new
   query-pr and nquery-pr option is: [-G | --list-config].
   For gnatsd: LCFG.

  Query output listings consistant and complete

   The Last-Modified and Closed-Date fields have been added to the SQL
   output format. The new Closed-Date field has been added to the default
   output format.


GNATS 3.106 includes a number of the unofficial patches found on the
Cyclic GNATS pages at (http://www.cyclic.com/cyclic-pages/gnats.html).
The following patches have been incorporated in one form or another;
some have been modified a great deal:

  Bugfix in free_responsible
  
   This patch fixes a bug in the routine to free a variable of the
   type "Responsible".
   
  Check if Reply: valid category
  
   When you send a reply to a problem report mailing, with the subject
   line beginning with: "Re: Foo/15", GNATS will append the letter to
   Problem report #15. The problem is that GNATS does not check to see if
   Foo is a valid category. What if someone sent a letter to the bugs
   address about something to do with OS/2: "Re: OS/2 version problem"?
   That letter would be appended to Problem report number 2. This
   [7]patch adds this category check to check-if-reply.
   
  Default Category for new PRs
  
   The official version of GNATS has "pending" hard-coded as the default
   category for new problem reports. This patch allows the GNATS
   administrator to put a default category into the config file (i. e.
   DEFAULT_CATEGORY="category").
   
  query-pr, nquery-pr and gnatsd checking "Last-Modified" date field

   There are new query-pr and nquery-pr inquires for PRs modified
   before or after a specified date: 
   [-B | --modified-before=date] [-M | --modified-after=date].
   For gnatsd: MBFR and MAFT.

  Documentation: Submitting a PR via direct e-mail
  
   This new section in the GNATS documentation (in the file
   s-usage.texi) describes what happens when you create a problem report
   by sending mail to the support site address.
   
  Deriving the Submitter ID from e-mail headers
  
   Sometimes a Problem Report comes in without a Submitter ID. This
   patch to file-pr lets GNATS derive the submitter ID from the
   "From:" mail header. We have added a new file, called "addresses",
   which maps e-mail address fragments to Submitter IDs.
   
  Putting "Unformatted" text into the "Description" field
  
   When a problem report comes in as unformatted text (i. e. someone
   sends e-mail to the "bugs" address), the text is put into the
   "Unformatted" field. Since the submitter intends for this text to be
   the description of the problem, it would be nice if GNATS put the text
   into the "Description" field. This patch does this, indenting the
   text by one space.
   
  Mail replies to appended letters
  
   This patch fixes a couple of formatting errors in the mail GNATS
   sends in reply to appended letters.
   
  BISON output file in Makefile for getdate.c
  
   When Makefile compiles getdate.y, it runs the BISON parser generator.
   This patch deals with problems in the naming of the files which
   bison outputs. [This patch was replaced by one done by Brendan --pst]
   
  Customizable states
  
   This patch implements customizable states (previously, the list of
   possible Problem Report states was hardwired into GNATS). (See the
   customizable classes above.)
   
  Error handling
  
   This patch from Mike Sutton fixes a few problems in error
   reporting.

August 18, 1997

This is the 3.104 beta release of GNATS.  This is NOT the last beta release.
It's still in need of documentation across the board, but I wanted to send
this out to get people started on trying it out.  It's available on
ftp.cygnus.com in /pub/gnats as `gnats-3.104-beta.tar.gz'.  Also available are
a set of diffs between 3.102 and 3.104, to make it easier for folks to jump
straight forward and not apply two sets (from 3.102->3.103, then 3.103->3.104).
That set is in `gnats-3.102-3.104-diffs.gz'.  

This beta is coming out very soon after the 3.103 beta, due to a fundamental
bug in the Makefile of that release.  I've also dropped in a few other
changes, all from "Jonathan I. Kamens" <jik@cam.ov.com>.  Thanks Jonathan!
I've also updated TkGNATS in the contrib section to the latest release.

The file gnats/PROBLEMS has a list of known problems with GNATS; folks are
encouraged to fix any of them they might want to.  Even investigating a bug
further is helpful.

By the way, I'm looking for someone to take over maintenance of GNATS, and
bring it forward to its much-needed 4.0 release.  (Or at the very least, to
volunteer to update the documentation so we can finally DO a GNATS 4.0
release.)  Please drop me a line if you're interested.


Changes in this (and the 3.103) beta release were:

* Some screwups wrt the libexec changes made 3.103 install things incorrectly.
* The check-db.sh contributed script has been fixed to look in the libexecdir
  instead of the libdir.
* The tkgnats included has now been updated to the latest beta version.
* Support for Kerberos 4 on regular BSD systems has been fixed.  Compatability
  with using Kerberos 5 is also added.
* The mkdist.sh script can now handle having the files in the dist directory
  be gzipped.
* The contributed delete-pr script has been fixed to get the right variables
  from the configuration.
* David MacKenzie has adjusted all of GNATS to use the GNU standard file
  system layout; e.g., using `libexec' and `share' instead of putting
  non-library files in `lib'.
* The configuration will now detect if you have GNU m4 installed.
* Jonathan Kamens has made it possible to separately install the
  architecture-dependent pieces for the main server on one machine, and the
  independent pieces for the clients.
* When editing a PR under emacs, use of an invalid name for a responsible
  party is now detected.  pr-addr now accepts `-s' or `--strict'.
* Ken Raeburn has done a variety of cleaning on the various clients, including
  the addition of `-P' or `--port', where applicable, to specify a new port to
  connect to.
* In addition, he adjusted npr-edit to do all of its writes and then look for
  replies upon completion, to reduce the network delays in using check_pr.
* A few bugs in getclose have been fixed to properly do date calculation, and
  properly parse the dates it's given.
* A fundamental bug in npr-edit caused problems on the alpha.
* The locking and unlocking of the database are now handled a little more
  cleanly by the server.
* A fix was contributed by Jonathan Kamens to make emacs automatically tell if
  a particular PR has already been sent---if so, prompt the user before it
  proceeds to re-send it.


The other changes include:

* A fundamental fix has been made in pr.c, so that reading in a PR
  will go much faster; we now double the buffer's size each time we
  reach its limit.  In the past, we only added on BUFSIZ bytes to
  it, which made us end up reallocating the memory far too many times.
* GNATS no longer interprets a line beginning with `>' in the header
  of the message as a sign that the headers are no longer in effect.
* The emacs mode for editing PRs now accept `C-c C-y' to change the
  `>Severity:' field, and `C-c C-p' to change the `>Priority:' field;
  either will also put an entry in the audit trail, allowing you to
  provide an explanation for the change.  This makes such changes more
  easily tracked.
* a crash in find_responsible has been fixed by making sure to zero
  out the receiving array before reading in the list of responsible
  names; thus, if the `alias' field of the responsible file is
  missing, we won't end up with garbage in memory
* the definition of INSTALL in the GNATS Makefile has been adjusted to
  let installation in subdirectories work properly in all cases
* A bug in the Makefile's creation of the config file has been fixed,
  so that GNATS_ADDR will always show up.
* send-pr no longer pays attention to interrupt signals, since editing
  the created PR with emacs as your editor allowed send-pr to abort
  the sending of the PR if you hit `C-g'
* send-pr now gets the correct DATADIR definition if you're using
  GCC_EXEC_PREFIX.
* the GNATS PROBLEMS file has been considerably expanded and cleaned up
* query-pr and nquery-pr now accept `-y regexp' or `--synopsis=regexp' to
  search for any PR that contains the given regexp in its `>Synopsis:'
  field; they also accept `-A regexp' or `--release=regexp' to search for a PR
  with the regexp in its `>Release:' field. 
* the daemon will now accept `SYNP regexp' to search for a particular
  synopsis; `RLSE regexp' to search for a certain value of the `>Release:'
  field; and `BFOR date' (when configured --with-release-based) and
  `AFTR date' to search for values of the `>Date-Required:' field.
* config/tkgnats has been updated to the 2.0b4 release.
* getclose, pr-age, pr-stat, and gnatsd all now accept -V or --version
* A bug in the emacs mode has been fixed, so addresses of the form
  Joe T. User <someone@somewhere> will automatically have the name
  contained within quotation marks: "Joe T. User"; otherwise, most
  mail systems would give an error when it sees the period.
* Some compile problems with the NeXT system compiler have been fixed.
* query-pr now accepts the `-D' debug option of nquery-pr, and ignores it.
* A nquery-pr manual page has been added, and a few errors in the
  exiting pages have been fixed.  The missing arguments to query-pr
  have also been put in place in its man page.
* The GNATS install manual now mentions that you probably need GNU m4 in order
  to build GNATS.  In the list of steps to take for installation, the
  creation of the GNATS account has been moved before the actual running
  of `make install'.  The usage manual now documents the `C-c C-f' (change
  field) command under emacs.
* A new program `getclose' will find you any PRs that were modified between
  a set of three dates: between two which qualify it as definitely "applied"
  during that time, and a third date, which will point out those that may or
  may not be fully resolved in that time.
* contrib/scripts has a few handy scripts (two in Korn shell) from
  Brian Abernathy.
* contrib/elisp has the new `gnats-admin.el' from Roger Hayes.
* A few bug-fixes in terms of string length have been fixed, to avoid
  memory errors.
* The GNATS daemon has been adjusted to do case-insensitive checks for
  hostnames trying to access the server.
* npr-edit now supports the locking and unlocking of the GNATS
  database with `--lockdb' and `--unlockdb'.  Add LKDB and UNDB
  commands to the server.
* If you're already editing a PR, we now go immediately to that buffer
  rather than wait for an error to tell us we have it.
* Make sure GNATS:RUN-IN-BACKGROUND is null before we do the forced
  unlocking of remaining buffers.
* Indentation of changed fields via GNATS::INDENT has been changed to
  be in line with the other fields.  We'd originally forced it to be
  one off so it's obvious which fields have changed; let's see how
  helpful it really was.
* Bug fixed in the creation of indexes, causing possible memory corruption.
* Configure adjusted for finding the Kerberos library.
* Add more portable solution for finding out the hostname.
* texinfo has been updated to the 2.8 release.
* with the elisp interface to GNATS, gnats:run-in-background defaults to t
  to make the checking and filing of a PR happen in the background to the
  emacs process; setting gnats:run-in-background to nil keeps it all in
  the foreground, as with previous releases.
* have new "release based" approach with --with-release-based, adding
  new `quarter' and `keywords' fields to PRs
* cmds.c, clean up general code layout
* add checks for netdb.h 
* default server name now `gnats', not `gnatsserv'
* new nedit-pr script, to do network-based editing
* add BFOR and AFTR to daemon, for PRs before/after/between certain dates
* add VDAT command to daemon, to verify that a date format can be used
* make gnats-el.in more friendly to emacs 18
* fix lots of bugs wrt ANSI compliance of the code, clean up array
  use and unfreed memory
* the ability to use a username other than `gnats' by configuring with
  `--with-gnats-user=name'.  This will communicate the desired name down
  through all of the programs to be built and used.
* the server now has a RSET command, to return the daemon to its startup
  state
* the notify field of the submitters file is correctly added to the `Cc:'
  header of PRs as they're edited.
* Ken Raeburn has written a new GNATS summary mode for emacs, used by the
  command `summ-pr'.  Give query-pr or nquery-pr the appropriate options
  (like --responsible or --state), and you'll get a nice buffer to view or
  edit those PRs as you choose. 
* the elisp mode for send-pr fixes a bug about mail-default-reply-to being
  set to t by default starting with emacs 19.29
* send-pr now takes -s/--severity, to specify the severity on the
  command line.  Also, -c/--cc let you give a Cc: header on the command line.
* It's now possible to have multiple GNATS databases on one system.  Use
  --with-gnats-service, --with-gnats-port, --with-gnats-server, and
  --with-gnats-root when configuring it.  It'll install the programs
  into separte directories (based on --exec-prefix and --prefix), which you
  can then create symbolic links for somewhere else, or set your PATH
  depending on which one you want to use.
* Modified to use autoconf 2.3 for configuring it.  Major improvement in
  portability combined with this shift.
* Added Kerberos support.
* Added functionality for a network-based GNATS, rather than having to
  NFS-mount the directory.  Includes a GNATS daemon, network-based query-pr,
  and new programs like pr-mail (list who should be sent mail about a given
  PR), and sub-type (give the type of a submitter).  The protocol for the
  server is designed to be versatile and open up future tools.
* The mechanism is in place to do remote PR editing and viewing from within
  emacs.  A script-version of a remote edit-pr isn't done yet.
* Considerable speedups were done.
* Major code cleanup across the board.
* Fixed hundreds of bugs since the last gnats release, including memory
  conflicts, areas that caused crashes, files and directories not being
  closed, etc.
* Cleaned up the GNATS elisp code.
* Improved the errors emitted to be more uniform.
* Speed increase in many things, including the most concentrated parts of the
  system (e.g., setting up the lists of mail headers and PR fields).
* A new ">Last-Modified:" field, to track when a PR was edited.
* Editing a PR will automatically Cc: anyone listed in the notify field of the
  submitters list.
* A few bugs were fixed in file-pr, most notably of which is looking up the PR
  by number given `category/number' in the Subject: field of a reply.  This
  will stop PRs from ending up in pending if the PR has changed category.
  Also, the responsible person is no longer set to include their full name in
  the field, since nothing else keeps it there.
* Looking up the responsible address for a PR has been adjusted when editing
  the PR, so we can let the editor allow names that don't necessarily appear
  in the `responsible' list, but are valid nonetheless.  (You will now only
  need to list folks in the responsible list if they don't have an account on
  the system running the server.)
* The lock for a PR now gives the pid of the process, and what program
  locked it.
* Argument parsing for gnatsd has been adjusted to properly check the various
  arguments it can get, including multi-word arguments.
* The GNATS:KEEP-EDITED-BUFFERS variable in emacs is now used correctly.
* The elisp code is now mostly functional with emacs 18.
* file-pr will now find the PR properly in a message that happens to use
  the Subject: style of `Re[2]: foo/1234: ...'.
* Skipping closed PRs is no longer case-sensitive for matching.
* The date_required field is now set modify_pr---this used to cause the
  tools to crash when they were built --with-release-based.
* The send-pr elisp code now uses CALL-PROCESS rather than SHELL-COMMAND
  to get the template PR.  It's also been fixed to properly use
  the MAIL-DEFAULT-REPLY-TO variable.
* Minor mistakes in the docs were fixed.
* The configure scripts have been fixed to not use the default prefix
  value of `NONE' if --prefix wasn't specified.
* contrib/wwwgnats/wwwgnats.shar is the new version by Karl Berry of the Web
  interface to GNATS.

The support for remote queries and editing is the most dramatic addition.  The
original approach, requiring the GNATS tree to be exported, will still work.
However, the new release will include a daemon and clients, to make it more
extendable.

Build GNATS as you normally would, configuring it with just:

  ./configure

If you want to install GNATS in a directory other than /usr/local, add the
flag `--prefix=/usr/wherever'.  Likewise, if you want to install all of the
binaries in separate directories, but only maintain one copy of the
host-independent files, add `--exec-prefix=/usr/wherever/H-hosttype'.

To point GNATS at a particular root for your files, use something like

  --with-gnats-root=/usr/local/gnats-db

If you want to build everything, not just the tools to query and edit, add the
flag `--with-full-gnats'.  That will make it build the support files like
`file-pr', and the daemon, `gnatsd'.  By default, the daemon and clients are
set to use port 1529.  Add the line

		support		1529/tcp			# GNATS

to your /etc/services file (or wherever).  If you want a different port,
simply change it there---you shouldn't have to change it within GNATS.

Please note that as of August 7, 1997, we do need to pick a new port since
another software package has taken the 1529 port.  I'm perfectly willing to
move it to port 1629, but we need someone to officially register the port to
make sure it stays reserved.  (No time to do it myself.)

In your inetd.conf file, put something like:

-- cut --
support	stream	tcp	nowait	gnats	/usr/local/etc/gnatsd gnatsd
-- cut --

adjusting the path accordingly.  To make inetd start spawning the GNATS daemon
when connected on that port, send it a HUP signal.

By default, the server for the GNATS daemon is assumed to be one with the
cname of `gnatsserv'.  If you'd like something else, use

	--with-gnats-server=hostname

Please try this on as many hosts as you can, using both the system compiler
and the GNU C compiler.  To force it to use the system's one, you can do

	$ CC=cc ./configure

to make sure it doesn't find gcc.

To build GNATS, just type `make'.  If you are using the GNU compiler (aka, if
you try to type `gcc' you get it), you'll want to do `make CC=gcc'.

In the gnats-adm directory, you'll want to edit `gnatsd.conf'.  It lists the
hosts allowed to access your server.  Or, if you're using Kerberos, it shows
the sites that don't require Kerberos authentication.  The format is open
for revision at the moment; only the first field matters:

	site.com::

The second field may be used for things like controlling what categories,
submitter-id'd PRs, etc can be accessed from that site.  In the file that
logs syslog messages (/var/adm/messages, for example) you'll find the
notification of denied access.

Please note that this is a BETA release.  Please try to investigate the source
of problems before you send me mail about it; don't just say, "It doesn't
work!"  One of the main reasons for this release is to check the portability
and reliability of the new code.

Please send any comments or questions to both `brendan@cygnus.com' and
`bug-gnats@gnu.org'.

Thanks!
Brendan
