================
Changes in 3.0.3
================

TkGnats 3.0.3 requires at least gnats-3.104-beta.  It runs with Tcl/Tk
7.6/4.2 on UNIX, and TclTk 8.0 on UNIX and Win95/NT.  Version 8.0p2
has also been tested.  Version 8.0 or newer is recommended for
performance and font handling.

09JAN98

o  TkGnats(GroupName) under UNIX is now set to the list of groups
   from the 'groups' command. The edit_authorized and delete_authorized
   groups are now searched for in this list. The list can still be a single
   group. (Thanks to Martin Schwenke <Martin.Schwenke@cs.anu.edu.au>)

o  New variable TkGnats(GNATS_BINDIR) can be set if the GNATS programs
   query-pr and nquery-pr aren't in your path.
   (Thanks to Martin Schwenke <Martin.Schwenke@cs.anu.edu.au>)

06JAN98

o  A new variable TkGnats(ENVIRONMENT) may be set as the initial value
   of the Environment text when creating new problem reports.
   (Thanks to Dan Wilder <dan@gasboy.com>)

05JAN98

o  Fixed bug in TkGnats_sendmail_smtp where a trailing comma in the
   address list (unusual) would cause a null string to be sent as
   SMPT RCPT TO: and cause the connection to the SMTP daemon to hang
   until it timed out.

o  Pressing Return in any entry field of the Query window executes
   the "Do Query" command. 

o  The cursor in the Query entry fields now changes to a stopwatch when
   the Query window is busy (previously all widgets _but_ the entry 
   fields got the cursor change).

23DEC97

o  Reworked the Makefile somewhat. A new variable helps control installation
   for local or network GNATS access. Set GNATS=local or GNATS=network. The 
   default is local. Variables can be set on the make command line:

           make GNATS=network

   In the case of GNATS=local, the Makefile looks at the file
   $(GNATS_ROOT)/gnats-adm/config for the following variables:

        GNATS_ADDR, GNATS_USER, SUBMITTER

   In the case of GNATS=network, GNATS_USER isn't required, GNATS_ADDR
   is in the "servers" file, and SUBMITTER is typically in the 
   server-specific tkgnatsrc file.

o  Modified README.unix to reflect the Makefile changes above.

o  Re-worded parts of README.windows.

o  Added mention of the GNATS mailing list to the README.first file.

o  Changed the subject of the email sent when editing the State or
   Responsible fields to be recognizable by GNATS as follow-up mail.
   Before, a reply to such mail copied to "bugs" (a rare non-sensible 
   thing to do!) would be misinterpreted as a new report.

22DEC97

o  Put the server title (the one that goes on the TkGnats main menu)
   into the iconname for the main Query window.

o  By default, the Query listbox now shows as many characters of the
   Originator's name as will fit into the space allotted. If you want the
   first name only, set TkGnats(QueryOriginatorFormat) to "short".

================
Changes in 3.0.2
================

TkGnats 3.0.2 requires at least gnats-3.104-beta.  It runs with Tcl/Tk
7.6/4.2 on UNIX, and TclTk 8.0 on UNIX and Win95/NT.  Version 8.0p2
has also been tested.  Version 8.0 or newer is recommended for
performance and font handling.

16DEC97

o  Fixed bug where GNATS_ADDR was hardwired to "bugs" in the UNIX case
   where the GNATS daemon was _not_ being used.

o  Various improvements to the README files.

================
Changes in 3.0.1
================

TkGnats 3.0.1 requires at least gnats-3.104-beta.  It runs with Tcl/Tk
7.6/4.2 on UNIX, and TclTk 8.0 on UNIX and Win95/NT.  Version 8.0p2
has also been tested.  Version 8.0 or newer is recommended for
performance and font handling.

15DEC97

o  Fixed bug in tkeditpr. When not using gnatsd, it would not
   unlock the PR after it was updated.

o  Improved comments in the Makefile.

o  Added $(MAKEPATH) $(MANDIR)/man1 to makefile.

o  Got rid of the `which $(WISHPROG)` in the Makefile. It just
   caused too many problems. WISHPROG is still a variable, and
   can be given to make on the command line:  make WISHPROG=wish8.0.
   Note that the tkgnats executable now has the following, directly
   from the wish man page:

	#!/bin/sh
	# the next line restarts using wish \
	exec wish "$0" "$@"

   This means that WISHPROG may be set to the executable only, such
   as "wish8.0" or to a full path such as /usr/local/bin/wish8.0.
   The Makefile replaces "exec wish" with "exec $WISHPROG".

================
Changes in 3.0.0
================

TkGnats 3.0.0 requires at least gnats-3.104-beta.  It runs with Tcl/Tk
7.6/4.2 on UNIX, and TclTk 8.0 on UNIX and Win95/NT.  Version 8.0p2
has also been tested.  Version 8.0 or newer is recommended for
performance and font handling.

08DEC97

o  Consolidated the man files into one, tkgnats.1.

o  Finished rewriting the README and CONFIG files.

o  Removed the shell script execution line (first line) from
   tkeditpr, tkquerypr, tksendpr and tkviewpr and renamed with
   .tcl extensions.

o  Renamed to version 3.0.0 and released.

================
Changes in 2.0b8
================

TkGnats 2.0b8 requires at least gnats-3.104-beta.  It runs with Tcl/Tk
7.6/4.2 on UNIX, and TclTk 8.0 on UNIX and Win95/NT.  Version 8.0p2
has also been tested.  Version 8.0 or newer is recommended for
performance and font handling.

03DEC97

o  Improved email error handling when using smtp sockets. On error, the
   socket is closed and the email dialog is not destoyed.

o  Added the wish path and patchlevel to the Help windows.

o  The "Send Email..." dialog now disallows a blank message body (GNATS
   won't process mail if the body is blank).

02DEC97

o  Fixed bug in font selector where resetting to the previous font didn't
   load the corresponding font sizes into the size listbox.

o  Made the TkGnats(HOME) variable optional, but either TkGnats(HOME) or
   TkGnats(UserDir) must be specified.

o  Removed the TkGnats(HOME) variable from CONFIG-user.ini and 
   CONFIG-single-user.ini. TkGnats(UserDir), TkGnats(UserSubdir) and env(HOME)
   are now set automatically in WIN-tkgnats.tcl from the path name of the
   tkgnats.tcl script (this applies only to Windows).

10NOV97

o  In TkGnats(TKGNATSLIB) the contents of the print/query/sort directories 
   are merged with the contents of the TkGnats(TKGNATSLIB)/'ServerDir'/
   print/query/sort directories when building the print/query/sort menus
   of the Query dialog. All directories and files are optional. 

o  In TkGnats(UserDir) the contents of the print/query/sort directories 
   are merged with the contents of the TkGnats(UserDir)/'ServerDir'/
   print/query/sort directories when building the print/query/sort menus
   of the Query dialog. All directories and files are optional. 

08NOV97

o  Saving of the Query startup (default) sort order and fields is now
   explicit in the Sort and Fields menus rather than hidden side effects.

o  Saved queries now include the sort order and selected fields.

o  Cascaded parts of the Query, Sort and Fields menus.

07NOV97

o  The regexp in saved queries are now enclosed in braces instead of quotes
   to preserve escaped characters.

o  The UserDir still defaults to ".tkgnats" for unix, but non-unix defaults
   to "tkgnats".

06NOV97

o  Various tweaks to configurations issues.

o  Updated TECHNOTES, FILES, README, etc.

o  Audit-trail messages changed from:

           Responsible-Changed-By:      rickm
   to:
           Responsible-Changed-By:      Rick Macdonald <rickm@vsl.com>

   IE: from $TkGnats(LogName) to $TkGnats(FullName) <$TkGnats(EmailAddr)>

o  Fixed error message when trying to edit a PR that is locked.

02NOV97

o  Lots of minor changes but I couldn't keep up with this changelog.

o  Added a font editor.

o  Moved buttons and menus around to be a bit more standard.

27OCT97

o  The category in the TkSendpr dialog may be pre-set with the variable
   TkGnats(CreateDefaultCategory). This used to be TkGnats(TksendprCategory).

16OCT97

o  Added font control variables: TkGnats(DialogFont), TkGnats(TextFont) and
   TkGnats(HelpFont).

07OCT97

o  Added a new item to the Print menu, "Dump Listbox Data...". This saves the
   SQL-formatted data for the PRs in the Query listbox to a file. This might
   be useful to feed external scripts until TkGnats gets some report-generating
   options. Even then, I doubt that TkGnats could ever support _all_ of the
   reports that one might want to glean from the GNATS database.

06OCT97

o  More portability improvements, such as using [info hostname] and $tcl_platform
   instead of external unix programs like hostname and uname.

o  The Days-Idle query requires the Last-Modified field, which isn't part of the 
   -i (--sql or SQLF) query. I've coded around this by doing a "medium" query (QURY)
   and parsing this to build data similar to the SQLF output. This runs a bit slower
   when the query has lots of hits but I only do it when a value is given for the
   Days-Idle field. It should run better on Tcl/Tk 8.0 due to the byte compiler.

   You can force this behaviour for all queries by setting TkGnats(QueryMode) to medium.
   The default is sql, except when a value is given for the Days-Idle field as explained
   above.

   Previously, TkGnats looked at the time-stamp of the PR file itself, but of course 
   this wouldn't work in the network case, or from Windows95/NT.

   I'll ask Brendan for a new query option that adds this field to the sql output.
   It probably should be a new option or flag so existing scripts don't break.

04OCT97

o  Added internal sorting of the Query listbox. This elimates the use of the
   external sort program (necessary for Win95/NT port).

o  Sort and Field menu items now operate on the current listbox contents,
   rather than running the query again. This improves performance.

02OCT97

o  proc Tkgnats_config sets new variable TkGnats(HOSTNAME) which checks 
   [info hostname] to get the hostname. This is still overridden by 
   the environment variable HOSTNAME. lock_pr now uses this variable.

o  Cleaned up proc TkGnats_config somewhat.

29SEP97

o  Removed temporary file use when updating PRs in favour of writing directly
   to the program (or socket) through a pipe.

o  Removed use of the UNIX "cat" command from perform_print_cmd.

26SEP97

o  Gathered up all the TkGnats configuration code into proc TkGnats_config.

o  Added direct SMTP mail sending, controlled by new variables 
   TkGnats(MailMethod) (mailer or smtp) and TkGnats(SMTP_SERVER) and 
   TkGnats(SMTP_PORT).

o  Added direct gnatsd socket communication, controlled by new variables 
   TkGnats(GNATS_SERVER) and TkGnats(GNATS_PORT). Network access to gnatsd
   can be batch (nquery-pr/npr-edit) or direct socket connections and is 
   controlled by the variable TkGnats(GNATS_ACCESS_METHOD) (batch or socket).
   "socket" is recommended. Don't bother with the batch method.

o  Changed internal variable Tksendpr(Organization) to TkGnats(ORGANIZATION).

o  Added lots of configuration info to the Help/About menu item.


================
Changes in 2.0b7
================

TkGnats 2.0b7 requires at least gnats-3.104-beta. 
This release was never used outside of my office.

25SEP97

o  In preparation for direct communication with SMTP, the mail sending code
   has been rearranged. Mail is built into a string instead of written to
   a temporaty file and piped directly to TkGnats(Mailer).

o  Made the determination of ReleaseBased automatic, and removed the variable 
   from tkgnats.config (which would now be overridden).

o  Changed the GNATS config variable of GNATS_SITE to SUBMITTER in the TkGnats
   Makefile as the value that needs to be set. GNATS_SITE is no longer used by 
   TkGnats.

o  Changed the grep in the Makefile of the GNATS config file to be anchored
   at the beginning of lines so it finds SUBMITTER, not DEFAULT_SUBMITTER.

o  The internal variable TkGnats(Submitter-Id) is now TkGnats(SUBMITTER).
   This is the value of SUBMITTER from the GNATS config file.

22SEP97

o  The category in the TkSendpr dialog may be pre-set with the variable
   TkGnats(TksendprCategory).

o  The pr mail header field "X-send-pr-version" is now set to the TkGnats
   version rather than the send-pr version, since we don't use send-pr.
   example:  X-send-pr-version: tkgnats-2.0b7
   I don't know that anybody uses this for anything other than debugging.

o  The "About" item in the "Help" menu now shows if you're accessing a local
   or network GNATS database. The GNATS server hostname is given, if known.

o  The variables GNATS_ROOT and LIBEXECDIR are now passed around TkGnats as
   TkGnats(GNATS_ROOT) and TkGnats(GNATS_LIBEXECDIR) respectively.

o  Added the variable CHECK_CFG to the Makefile. You can make TkGnats even
   if GNATS isn't installed with:  make CHECK_CFG=no

o  The run-time configuration, which checks for certain environment variables,
   now happens after $TKGNATSLIB/tkgnats.config and any and all of the optional
   "tkgnatsrc" files have been read.

13SEP97

o  Network support for the GNATS gnatsd daemon!

o  Added variables TkGnats(GNATS_ACCESS) and TkGnats(GNATS_SERVER) to 
   tkgnats.config to set "local" GNATS database or "network" daemon access.

o  The Query action "Delete PERMANENTLY" is limited to local GNATS databases.

o  The command line arguments to the various executables in TkGnats
   (tksendpr, tkquerypr, tkeditpr and tkviewpr) have changed to improve
   performance (especially for network access) by passing along more 
   information.

o  Fixed a bug where the Save Query option would fail if GNATS was _not_ 
   configured --with-release-based.

o  TkGnats now uses query-pr to get the GNATS categories, submitters and 
   responsible lists. Therefore, the following variables have been removed 
   from tkgnats.config:

        TkGnats(CategoriesFile), TkGnats(SubmittersFile), 
        TkGnats(ResponsibleFile), GNATS_BASE

   TkGnats(ResponsibleFile) is a variable used for a different purpose now.

o  Removed the TkGnats(pr_editor) variable from tkgnats.config. This is
   hardwired and shouldn't have been a variable.

o  Removed the TkGnats(pr-addr) variable from tkgnats.config. This simple
   function is now implemented internally in TkGnats.

o  The format of the Saved Queries has changed greatly (much simpler and not so 
   dependent on TkGnats internal code) but the old format can still be read.

o  Fixed highlighting around active entry and text widgets.

o  Generally removed various bits of dead code.

o  Improved the quick-fill entry fields slightly. It's now impossible to erase
   the value in the field once it contains a value from the listbox.


================
Changes in 2.0b6
================

TkGnats 2.0b6 requires at least gnats-3.104-beta.

20AUG97

o  No visible changes or fixes. Only the installation configuration
   has changed to match and be consistent with the latest GNATS beta 3.104.

o  The Makefile now matches the new GNATS "LIBEXECDIR". The default
   is /usr/local/libexec to match GNATS beta 3.104.

o  The TkGnats files that go into TKGNATSLIB are platform-independent
   and have been moved from /usr/local/lib/tkgnats to 
   /usr/local/share/tkgnats. This matches the default location for
   the GNATS platform-independent files, which is /usr/local/share/gnats. 

   If you have been using the old location you should move or copy all
   the files and subdirectories to the new location _before_
   installing TkGnats 2.0b6. This will preserve your old settings and
   any global queries, sorts and print functions. If you installed the
   new release first, then simply copy the old files then run 
   "make install" again.

   Please make sure that you do _not_ have any set statements for
   TkGnats(lib) in tkgnats.config or any of the optional "tkgnatsrc" files.
   The setting of this variable now only occurs in the main executables
   (such as tkgnats, tksendpr, etc) and is configured by the Makefile.

o  Changed tksendpr to get the send-pr version dynamically by executing
   "send-pr --version".

o  This change was made in 2.0b5 but I forgot to add it to the Changes:

   Several values in $TKGNATSLIB/tkgnats.config can be overridden at
   runtime.

   At runtime, TkGnats checks for the environment variable "GNATS_ROOT".
   If it exists, the GNATS config file $GNATS_ROOT/gnats-adm/config is 
   scanned for the following values:

        GNATS_ADDR, GNATS_USER, GNATS_SITE, Submitter-Id

   which reset the following TkGnats variables:

        TkGnats(GNATS_ADDR), TkGnats(GNATS_USER), GNATS_ROOT, GNATS_BASE,
        TkGnats(GNATS_SITE), TkGnats(Submitter-Id)
   
   GNATS_ROOT also gives TkGnats the locations of the following GNATS files:

        categories, submitters, responsible

   by resetting the following TkGnats variables:

        TkGnats(CategoriesFile), TkGnats(SubmittersFile), 
        TkGnats(ResponsibleFile)
   
   This happens _after_ $TKGNATSLIB/tkgnats.config is read but _before_
   any of the following optional files are read:
                $TKGNATSLIB/tkgnatsrc
                $TKGNATSLIB/tkgnatsrc.<operating_system_name>
                ~/.tkgnats/tkgnatsrc
                ~/.tkgnats/tkgnatsrc.<operating_system_name>
   The <operating_system_name> is the result from the command "uname -s".
   For example, tkgnatsrc.SunOS, or tkgnatsrc.Linux.
   

================
Changes in 2.0b5
================

TkGnats 2.0b5 is compatable only with gnats-3.102-beta. It was in the
contrib directory of gnats-3.103, but gnats-3.103 was short-lived due
to errors in its Makefile. It was also in the contrib directory of 
gnats-3.103, but it's Makefile was not compatable with GNATS's Makefile.

31JUL97

o  Fixed tkeditpr to handle categories longer than 16 characters.

30JUL97

   All of the following fixes were provided by Jonathan I. Kamens:

o  Don't delete the VERSION file in the "clean" rule, since it's part
   of the distribution and therefore shouldn't be deleted when the
   user just wants to remove derived objects.

o  Support the "Keywords" PR field with the new configuration option
   TkGnats(ReleaseBased) is true.

o  Rename default_sort to default_sort.old when renaming ~/TkGnats to
   ~/.tkgnats, since the old format of default_sort isn't compatible
   with the new one.

o  Put back the functionality for doing a query from the current X
   selection, using a "Query Selection" item on the "Query" menu, and
   augment it by allowing the selection to contain multiple PR numbers
   rather than just one.

o  Don't truncate search patterns when doing queries.

o  When doing queries, don't fail if a field we're querying doesn't
   actually exist in the queried PR.  This is necessary because not
   all fields are present in all PRs.

o  Added TkGnats(MsMacroSet) to tkgnats.config. This sets the
   name of the macros for groff, typically "-ms" or "-mgs".

29JUL97

o  Added Category to subject line of email sent from tkeditpr.

14JUL97

o  Fixed bug in tkeditpr where it would incorrectly form
   the subject line when clicking "Send Email...". It
   used "Re: nnn:" instead of "Re: category/nnn:".

o  Added an "About" item to all of the Help menus to show
   the TkGnats version number.

11JUL97

o  Improved TkGnats(LogName) determination throughout.

08JUL97

o  Replaced several physical temporary files with internal
   Tcl variables in tkeditpr.

06JUL97

o  Replaced internal Tcl code with calls to query-pr for the
   new gnats-3.102 options --synopsis and --release. REGEXP
   searches are now always done by query-pr and work properly.
   The regexp's are passed directly to query-pr and do not
   require quoting. For example, this is OK in the Synopsis
   field: this error|that error

04JUL97

o  Added synopsys to the Subject line of created bug reports.
   Nobody usually sees this anyway, since GNATS does this too.
o  Changed the default for TkGnats(TextWrap) in tkgnats.config
   from "none" to "word".
o  Added TkGnats(delete_authorized_groups), TkGnats(GNATS_USER) and 
   TkGnats(delete_authorized_users) to tkgnats.config. These turn
   on a new "Delete PERMANENTLY" option in the Actions menu of the
   Query dialog.  Since GNATS_ROOT/gnats-adm/index and the PR files
   are usually writable only by the GNATS_USER, GNATS_USER is the 
   default for TkGnats(delete_authorized_users).


================
Changes in 2.0b4
================

TkGnats 2.0b4 is compatable with gnats beta releases up to
gnats-3.102-beta.

06MAY97

o  Tweaked Makefile again to work on Solaris, IRIX64 and Linux.
o  Fixed chmod in Makefile.
o  Added missing help for Last-Modified.
o  Removed call to old workingMsg (busy symbol) in synopsis_summary.
o  Removed "exec date" in synopsis_summary.
o  Renamed tkgnats.cf.t to tkgnats.config.


04MAY97

o  Updated manpages and added them to Makefile install/uninstall.
o  Renamed sortDialog.tcl to tkprsort.tcl.
o  Renamed reports.tcl to tkprprint.tcl.
o  Fixed valid filename checking when saving and renaming queries
   and sorts.
o  Added TO-DO list.


03MAY97

o  Makefile improvements.
o  Added the GNU COPYING file for copyright.
o  Removed "exec date" in favour of built-in Tcl "clock" command.
o  Removed "exec rm/mv/cp" in favour of built-in Tcl "file" commands.
o  Removed "exec cat" in favour of built-in open/read/close commnads.
o  Removed "exec grep" and "exec sed" in favour of built-in commnads.


01MAY97

o  Makefile improvements.
o  Removed all old files that were no longer used.
o  Updated README and FILES.
o  Converted tkeditpr from sh script to tcl.
o  Combined tkeditpr and tkeditpr.tcl. Deleted tkeditpr.tcl.
o  Got rid of msgDialog. Use tk_dialog instead.
o  Got rid of the "busy" symbol on the status line in tkquerypr.


================
Changes in 2.0b3
================

24APR97

o  Reworked email handling to support these email address formats:

    # 01: "Rick Macdonald" <rickm@vsl.com> and Rick Macdonald <rickm@vsl.com>
    # 02: rickm@vsl.com (Rick Macdonald)
    # 03: rickm@vsl.com

o  Added TkGnats Documentation button to the TkGnats main menu.
   It currently only describes the flow of email.


23APR97

o  Originator field changed back to be just the real name of the actual
   submitter. It's no longer used as an email address.
o  Added Reply-To field to Create, View and Edit windows. This is a
   comma-separated list of email addresses and should include the
   Originator's email address. This was to maintain compatibility with
   other gnats front-ends (emacs, www).
o  Send Email can toggle off individuals fom the Reply-To field.
o  Send Email can now toggle off GNATS_ADDR (eg bugs) if desired.


================
Changes in 2.0b2
================

15MAY97

o  User rc dir changed from ~/TkGnats to ~/.tkgnatsrc. 
   Previous dir, if any, will get renamed.

o  Other changes, but I wasn't keeping track yet.

==============
Changes in 2.0
==============

o  Complete overhaul of TkGnats interface.
o  This was the first TkGnats that I sent out. It got onto the 
   Debian 1.3 release. It should have been numbered 2.0b1.
