Girish Mahajan (Editor)

Trac

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
Edgewall Software

Written in
  
Python

Initial release
  
February 23, 2004; 13 years ago (2004-02-23)

Stable release
  
1.2.1 (March 29, 2017; 5 days ago (2017-03-29)) [±]

Preview release
  
1.3.1 (December 4, 2016; 3 months ago (2016-12-04)) [±]

Repository
  
trac.edgewall.org/browser

Trac is an open source, Web-based project management and bug tracking system. It has been adopted by a variety of organizations for use as a bug tracking system for both free and open-source software and proprietary projects and products. Trac integrates with major version control systems including ("out of the box") Subversion and Git. Trac is used, among others, by the Internet Research Task Force, Django, FFmpeg, jQuery UI, OpenStreetMap, WebKit and WordPress.

Contents

Trac is available on all major operating systems including Windows via Installer or Bitnami, OS X via MacPorts or pkgsrc, Debian, Ubuntu, Arch Linux or FreeBSD, as well as on various cloud hosting services.

History

Inspired by CVSTrac, Jonas Borgström and Daniel Lundin from Edgewall Software started writing svntrac in August 2003 using SQLite and Subversion. In December 2003 they renamed it to Trac. In February 2004 the Trac version was changed first from 0.0.1 to 0.1 and then directly from 0.1 to 0.5. That release was followed in March 2004 by 0.6 and 0.7, and 0.8 in November 2004.

Edgewall Software was a small consulting company, but today it no longer offers any software development, consulting or support services. It is now solely an umbrella organization for hosting edgewall.org for the community to collaborate on developing open source Python software. Some of the earliest community members to collaborate in the open source development of Trac were Rocky Burt in March 2004, Christopher Lenz and Francois Harvey in May 2004, Christian Boos and Otavio Salvador in December 2004 and Mark Rowe March 2005.

In August 2005 the license was changed from the GNU General Public License to a modified BSD license. The first release under this final license was Trac 0.9 in October 2005. It introduced PostgreSQL database support.

Trac 0.10, released in September 2006, was an important release that first introduced the component system that to this day allows plugins to extend and add features to Trac's core. Trac itself since this point consists mainly of optional plugin components that can be disabled or replaced entirely. MySQL database support is added as one such core component. This release added support for version control systems other than Subversion by external plugins. (Mercurial support was provided through a separate plugin due to its GPL license restrictions.) Trac 0.11, released in June 2008, changed the HTML template system from ClearSilver to Genshi, breaking compatibility with many of the older plugins.

Trac 0.12 was released in June 2010 and became a stable long term release with the latest point release 0.12.7 from July 2015. It added internationalization and localization support using Babel, and allows using multiple version control repositories at once.

Trac 0.13 was never released, and instead was turned into Trac 1.0 in September 2012, the previous stable long term supported version with the latest point release 1.0.13 from September 2016. It included the previously external plugin for Git version control support.

Trac 1.1.1 from February 2013 through 1.1.6 from July 2015 are releases without long term support and compatibility guarantees, that turned into Trac 1.2 from November 2016, the latest stable release.

Trac 1.3.1 from December 2016 is the current development release without long term support that will turn into Trac 1.4 eventually. It requires Python 2.7. For Trac 1.3.2 a switch to the Jinja template system is planned.

Core features

Trac's offers a simple approach to project management by deeply integrating ticket tracking, version control (for which multiple repositories per environment are supported), and wiki. It allows hyperlinking information between these systems, include wiki content directly in a ticket or list tickets automatically on wiki pages.

The ticket system can be used for tracking bugs, tasks, issues, incidents or any other kind of ticket. Customized reports can be generated from parametric stored SQL queries or using an interactive ticket query system. There is also an integrated search engine and a fine-grained permission system.

Additional project management features include grouping tickets into milestones and a roadmap where the milestones and their progress are listed and visualized. The recent activity is shown on a timeline page, users are notified by email or can subscribe to RSS or iCalendar feeds.

Additional features

Trac has an extensive plugin ecosystem which offers many optional features and integration with external tools, and keeps the core system simple and easy to use. Besides the core SVN and Git support, Trac can connect via plugin to many other version control systems, including

  • Bazaar
  • CVS
  • Darcs
  • Mercurial
  • Monotone
  • Perforce
  • Other features provided by plugins include:

  • Account Manager
  • Multiple project support
  • Spam-Filtering
  • Blog Plugin
  • Discussion/Forum plugin
  • Guestbook plugin
  • Pastebin plugin
  • XML-RPC plugin
  • Tags plugin
  • Continuous integration plugins
  • References

    Trac Wikipedia