Head [BANNER]
  GNATS: The GNU Bug Tracking System

Table of Contents

Introduction to GNATS

GNU GNATS is a set of tools for tracking bugs reported by users to a central site. It allows problem report management and communication with users via various means. GNATS stores all the information about problem reports in its databases and provides tools for querying, editing, and maintenance of the databases.

Thanks to its architecture, GNATS is not bound to a single user interface – it can be used via command line, e-mail, Emacs, or a network daemon, usually used with a Web interface. Together with the fact that all GNATS databases and configuration can be stored in plain text files, it allows easy use and provides good flexibility. Basically, if the GNATS tools do not provide everything you need, you can add your own additional utilities using standard GNU tools.

GNATS 4.0 was the first official release to incorporate major advances including multiple database support, customized fields and comprehensive WWW and Tk based front-ends. These features were first seen in the 4.0 beta releases.

Several third-party interfaces and other tools that work with GNATS are available. Miscellaneous and unmaintained interfaces, can be found in the contrib subdirectory of the GNATS distribution. Releases of these tools aren't necessarily synchronized with GNATS releases, see the section on downloading below for details on how to get the newest version.

Gnatsweb, a web-based interface, has become a sister project to GNATS. This site remains its homepage, but it now has its own project download directory and CVS trees.

If you'd like to hear about GNATS announcements, subscribe to the info-gnats mailing list.



February 28, 2015: GNATS 4.2.0 has been released! (Download) This is considered the new stable branch of GNATS.

March 6, 2005: GNATS 4.1.0 has been released! (Download) This is considered the new stable branch of GNATS.

November 10, 2004: GNATS 4.0.1 has been released to fix a potential security vulnerability. Please download this release.

June 8, 2004: Andrew Gray has stepped down as maintainer of GNATS and Chad Walstrom has been appointed in his stead. Plans are being made for a 4.1 release to incorporate some of the bugfixes and changes in the CVS repository.

March 1, 2004: GNATS 4.0 is again available for download from http://ftp.gnu.org/pub/gnu/gnats/gnats-4.0.tar.gz.

September 14, 2003: Pending the restoration of GNATS 4.0 to ftp.gnu.org, it is available for download from http://home.pacific.net.au/~meganandaj/gnats-4.0.tar.gz http://ftp.gnu.org/pub/gnu/gnats/gnats-4.0.tar.gz.

August 1, 2003: GNATS 4.0 is available for download from http://ftp.gnu.org/pub/gnu/gnats/gnats-4.0.tar.gz.

December 2, 2002: The second beta release of GNATS 4.0 is available for download from http://ftp.gnu.org/pub/gnu/gnats/gnats-3.999.2.tar.gz. This version shouldn't be considered ready for production use. Download, install and test it and report any problems you may encounter.

October 2002: Following Milan Zamazal's resignation as GNATS maintainer, Andrew Gray has taken over.

February 21, 2002: The FAQ has moved to http://www.gnu.org/software/gnats/doc/faq/gnats-faq.html.

January 27, 2002: Hans-Albert Schneider has compiled an FAQ for GNATS.


Security Announcements

The following table is a compilation of security announcements and potential vulnerabilities to released versions of GNATS. The general recommendation is to upgrade to the latest stable released version of GNATS.

Security Announcements for GNATS and Gnatsweb
Version(s) Severity Scope Exploitable Details
GNATS <= 4.0 Low Remote Unlikely Note, that although these announcements indicate a possible buffer overflow triggered by passing user-supplied data in a call to syslog(), a path which would allow this hole to be exploited has not been found.
GNATS 3.002, 3.113.1, 3.2 High Local 100% There are multiple vulnerabilities in these versions that result in local root exploits. Note: these versions are no longer maintained.

Downloading GNATS and Gnatsweb

GNATS Stable Branch: 4.2

GNATS versioning follows a simple MAJOR.MINOR.PATCH numbering scheme. The latest stable branch of GNATS is 4.2 with 4.2.0 being the latest version available. All version of GNATS are available for download on the Official GNU FTP Mirror: http://ftp.gnu.org/pub/gnu/gnats/.

The stable branch is also available in the CVS Repository under the branch gnats-4_2-branch. The 4.1.0 release is tagged gnats-4_2_0-release.

Binary packages are generally available on various Linux and BSD platforms. For example, Debian GNU/Linux carries the latest stable version of GNATS as binary and source packages.

GNATS Development Branch: CVS only

The current development version of GNATS is available via CVS only, which is hosted on the Savannah web site. See the GNU Savannah GNATS Project Page for the instructions how to use the CVS repository.

See information about other GNATS resources for the location of development code.


Gnatsweb, a Perl-based GNATS web interface, development is hosted in a separate CVS repository at gnu.org. Gnatsweb has two development branches, one for version 2 (which works with GNATS 3.x) and one for version 4 (which works with GNATS 4).

Released versions of Gnatsweb can be downloaded from http://ftp.gnu.org/pub/gnu/gnatsweb/.

The current Gnatsweb 4 development version is available via CVS only, see the GNU savannah GNATSWEB project page for the instructions how to get it.

	cvs -z3 -d:pserver:anoncvs@cvs.savannah.gnu.org:/cvsroot/gnatsweb co gnatsweb

Get the current Gnatsweb 2 development code using the same login setup as the Gnatsweb 4 branch. Use this checkout line instead:

	cvs -z3 -d:pserver:anoncvs@cvs.savannah.gnu.org:/cvsroot/gnatsweb co -r gnatsweb-v2-branch gnatsweb

GNATS Documentation

The official manuals are distributed with the source code and available under the doc subdirectory. The following documentation versions are available: 4.2.0, 4.0 Beta Snapshot, 3.113.1.

There is also an FAQ compiled by Hans-Albert Schneider, also available under the doc subdirectory. The following document versions are available: 4.2.0, 4.1.0.


Reporting GNATS Bugs

Please report bugs through the email list. bug-gnats@gnu.org.

When you report problems related GNATS itself, please don't forget to provide the following information:

Providing this information in the initial report avoids further unnecessary communication, saves our limited development resources and helps to track down and fix the problem soon.

All PR transactions/additions/changes are recorded on the gnats-prs mailing list.


GNATS Mailing Lists

Archives and instructions for subscribing to the the different GNATS-related mailing lists are available at the Savannah GNATS site.


Getting Involved in GNATS Development

We are always on the lookout for people willing to contribute to the project. We need more active developers. Besides, patches for existing problems, contributions to documentation, answers to frequently asked questions or ideas for future development are all very welcome. And, if you aren't a developer or feel able to write good documentation, there is still something you can do: Simply use GNATS and report any bugs and quirks you may find.

Please don't send user questions directly to particular maintainers. This wastes time that could be otherwise spent on the GNATS development and your questions are likely to be ignored. Use the help-gnats mailing list instead.


The current maintainer of GNATS itself is Chad Walstrom. The current focus is integrating submitted patches and resolving outstanding bugs.


The current maintainer of Gnatsweb is Yngve Svendsen. The 2.x branch of Gnatsweb is purely in maintenance mode now, and no further releases are planned unless bugs of earth-shattering importance surface. Version 4.00 of Gnatsweb ships as part of the GNATS 4.0 distribution. Anyone interested in participating in Gnatsweb development either by submitting patches or taking directly part in planning and development should post to the help-gnats mailing list.

How to produce patches

Even though people may have good coding skills, they may never have submitted patches to projects such as this before. Following is a quick how-to on producing a patch file.

Check out the GNATS version you intend to modify from the CVS repository, then make the changes you intend to. To produce the patchfile, use the following command:

cvs diff -up file1 file2 ... > patchfile.out

where file1, file2 etc. are the paths to the files that you changed in the source tree. This creates a patch file patchfile.out which contains the differences between the source files in the CVS repository and the checked out files you edited. Since current development efforts are directed at getting version 4 out of the door, patches against the latest development version will be most useful. Patches should go to the help-gnats mailing list.

Full CVS documentation is available at http://www.loria.fr/~molli/cvs/doc/cvs_toc.html.


Tips & Tricks


Other GNATS Resources

Return to GNU's home page.

Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways to contact the FSF.

Please send comments on these web pages to webmasters@gnu.org, send other questions to gnu@gnu.org.

Copyright © 2003, 2004, 2005 Andrew Gray, Yngve Svendsen, Milan Zamazal, and Chad Walstrom

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Copyright notice above.
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA

Updated: $Date: 2015/03/04 02:47:04 $ $Author: chewie $