GNATS General TODO List
=======================
[X] 100% Release 4.2: New Features & Bug Fixes
	[X] 100% Cleanup build infrastructure w/automake and autoconf
		[X] Replace Makefile.in with automake
		[X] Update autoconf
		[X] Fix kerberos handling in acinclude.m4
		[X] Re-implement SYSCONFDIR/gnats config file installation
		[X] Fix compilation issues with gcc-4.8/4.9 and clang-3.1/3.4
	[X] 100% Improvements to send-pr
		[X] New host/port/user/password command-line arguments
		[X] Allow PRs to be re-edited upon submission errors
		[X] Performance improvement when dealing with many enum values
		[X] New GNATS_CREATE_TEMPLATE environment variable
		[X] Avoid race condition (FreeBSD-SA-05:20.cvsbug advisory)
	[X] 100% Bug Fixes
		[X] PR#484: "send-pr --request-id" sends just a template
		instead of request
		[X] PR#495: unsetenv() not defined on Solaris
		[X] PR#501: Safer open/fopen for gen-index
			: No longer setting binaries suid.
		[X] PR#504: gnatsd crashes when trying to lock a nonexistent
		PR
		[X] PR#508: Emacs interface gnats-change-database fails when
		gnats-port isn't set
		[X] PR#544: gnatsd needs a --global-databases-file command-line option
			: Needed for all command-line options
		[X] PR#615: AF_INET6 causes compilation failure on Solaris 7
		[X] PR#669: missing @XXX@ keyword substitutions in do_subst
		[X] PR#691: Portability problem with sed and tr.
		[X] PR#746: install-sid is a bash script (and not /bin/sh)
		[X] PR#767: edit-pr returns incorect exit status
		[X] PR#768: make install DESTDIR=/anywhere fails
		[X] PR#771: "EXPR" queries with spaces sometimes fail
		[X] PR#773: using responsible alias as email address for edit-pr


[_] 0% Release 5.0: New Features, Major Changes to DB Layer, RDBMS
	[_] Start test framework via autotest
	[_] Mail handling enhancements
		[_] Mail-based manipulation of GNATS database (Mel)
		[_] Trigger-based mail format replies (Mel)
	[_] Database Enhancements
		[_] Oracle RDBMS Backend (Mel)
			: Finished but not rolled in to GNATS CVS 5.0 branch
		[_] PostgreSQL RDBMS Backend (Mel)
	[_] Security Enhancements
		[_] TLS integration via gnutls
	[_] Account enhancements
		[_] PAM Authentication (Pankaj)
			: Patch submitted 2004-06-20

[_] 0% Release 5.x: New Features
	[_] Mail handling enhancements
		[_] MIME Handling
		[_] Detach files appropriately for GNATS DB format
		[_] Convert HTML to TXT?
	[_] Database Enhancements
		[_] mbox Backend
		[_] Maintain mbox archive of all emails
		[_] Fake Audit trail entries as emails and append to mbox
		archive
		[_] Continue to use existing PR datafile for logging events,
		keywords, and metadata

[_] 0% Unassigned
	[_] Bug fixes
		[_] PR#491: Conditional "on-change" does not work for
		"require-change-reason"
		[_] PR#502: queue-pr doesn't correctly handle \r\n for
		follow-ups
	[_] Add conditional formats
	[_] Add script hooks, probably for edit formats and such.
		: Need to think about how to integrate in changes to the PR
		: done by the script (after all, that's really the whole
		: point)
	[_] Allow fields to not exist; add a "field-always-present" option to
	the field description
	[_] Add virtual fields.
		: The output format can use the existing format mechanism.
		: This would necessitate having a "no-display" field flag, so
		: that some fields don't show up in a "full" query (adding all
		: the fields to full" is a rather obnoxious requirement).
		: There should also be a "raw" query that dumps all the real
		: fields as raw contents, for editing purposes (and perhaps
		: for other things).
	[_] Revise access control mechanisms.
	[_] Should PRs have a ">Database-Name:" header?
		: Probably, and probably immutable.  Can be used when editing
		: a PR, or submitting an initial one.
	[_] Append-only fields.  Need to revise access control first.
	[_] Document functions.
		: Many of them are undocumented (even newly-added ones, shame).
	[_] See how much farther we can go with removing knowledge of
	particular fields from the gnats code.
	[_] Make it possible to include adm field contents in the
	configuration file, instead of always using an external config file.
	[_] Change edit-pr to include the "Changed-Why:" header in the initial
	PR template instead of a separate prompt.  Maybe.
	[_] Should all the fields listed in the input section be required?
		: Configurable? How about rejecting initial erroneous PRs (PRs
		: with bad fields) instead of fixing them up? It sucks that
		: pr-edit --submit < /dev/null could quite presumably create a
		: valid PR.
	[_] The initial PR filing stuff is way too complicated.
		: In particular, the various field checks should be configured
		: in dbconfig.  That would let us remove more builtin fields.

	[_] Decide if the "exec gnatsd locally" option is a security hole.
		: Probably. Make it #if TESTING only?
	[_] Come up with a better name for the lexer source file.

Completed
=========
[X] 100% Release 4.1: Code cleanups, bug fixes, documentation updates
	: About to add the finishing touches.
	[X] Prepend $(DESTDIR) to Makefile.in installation targets (Chad)
		: Committed to CVS.
	[X] Add missing manpages -- one manpage for each application (Chad)
		: getclose added. install-sid added.
	[X] Update the NEWS file
		: Talked about CAN report
	[X] Kill install-sid script and update documentation (Chad)
		: Repurposed instead of killing it.
	[X] Roll in changes to ./debian
	[X] DB Abstraction Layer (Mel)
		: It appears to be in 4.1.0

vim:ft=vo_base:
