A simple-to-use and -install issue-tracking system with command-line, web and e-mail interfaces. Highly customisable.
Project description
I’m proud to release version 1.5.0 of Roundup which has been possible due to the help of several contributors. This release introduces some new features, most notably modular web templating with Jinja2 as a templating engine (the old templating engine is still the recommended one) and, as usual, fixes some bugs:
Features:
issue2550775 Added rel=nofollow to links in the journal linking to attachments to allow the admin to delete attachment spam and prevent search engines from increasing the rankings. (John Rouillard)
issue2550808 Enhanced the boolean field template function. Now by default the labels generated can be clicked on and select the corresponding radio button. Also can create a trivalued radiobutton (yes/no/unknown) as well as customize the labels for the yes/no/unknown radio buttons. (John Rouillard)
issue2550807 enhance classhelp method with ability to set html properties on the generated link. (John Rouillard)
Support for tx_Source property on database handle. Can be used by detectors to find out the source of a change in an auditor to block changes arriving by unauthenticated mechanisms (e.g. plain email where headers can be faked). The property db.tx_Source has the following values:
None - Default value set to None. May be valid if it’s a script that is created by the user. Otherwise it’s an error and indicates that some code path is not properly setting the tx_Source property.
“cli” - this string value is set when using roundup-admin and supplied scripts.
“web” - this string value is set when using any web based technique: html interface, xmlrpc ….
“email” - this string value is set when using an unauthenticated email based technique.
“email-sig-openpgp” - this string value is set when email with a valid pgp signature is used. (NOTE the testing for this mode is incomplete. If you have a pgp infrastructure you should test and verify that this is properly set.) (John Rouillard)
Introducing Template Loader API (anatoly techtonik)
Experimental support for Jinja2, try ‘jinja2’ for template_engine in config (anatoly techtonik)
A new jinja2 template based on Classic schema and using Twitter bootstrap for responsive behaviour. Run as - python demo.py -t jinja2 nuke (Pradip P Caulagi)
roundup_admin.py and other scripts can now be run directly from the sources dir as roundupscriptsroundup_admin.py (anatoly techtonik)
Renamed old Templates classes to Loader classes to clarify sources for alternative templating engines, updated docs (anatoly techtonik)
Template selection code is moved from Loader classes into cgi.client limiting the responsibility of Loaders to compilation and rendering. Internally, templating.find_template is replaced with client.selectTemplate (anatoly techtonik)
Increased generated password length to 12 symbols to slow down GPGPU attacks (anatoly techtonik)
Implement XMLRPC MultiCall (including test), see http://docs.python.org/2/library/xmlrpclib.html#xmlrpclib.MultiCall (Ralf Schlatterbeck)
Fixed:
issue2550789: add documentation on how to initialise a tracker without exposing the admin password.
issue2550805: Postgres should search title attribute case insensitive like sqlite. Reported and fixed by Tom Ekberg. (Bernhard Reiter)
Removed some old left over “rlog” references in documentation and code. Makes the debugging.txt advise for the database unit tests work again.
Fixed OpenPGP support for modern versions of libgpgme. (Bernhard Reiter)
Restored compatibility with old style trackers (anatoly techtonik)
Make roundup play nice with setup tools (for using with virtualenv) (Pradip Caulagi)
[minor] Template responsive: make demo.py work out of the box with it, by setting the static_files config.ini setting to “static”. Footer: link fixed and hardcoded last modified date removed. (Bernhard Reiter)
demo.py print location of tracker home and fully erase its directory when nuking (anatoly techtonik)
demo.py changing hostname in config.ini actually changes the address where demo.py listens. (John Rouillard)
issue2550802: Fixed date so second fraction can’t cause rounding to 60.000 when serialising. Report and fix by Erik Hanspers. (Bernhard Reiter)
issue2550595: Allow migrating from roundup 0.x to 1.4 (Thomas Arendsen Hein)
issue2550634: New German orthography corrections (Thomas Arendsen Hein)
If you’re upgrading from an older version of Roundup you must follow the “Software Upgrade” guidelines given in the maintenance documentation.
Roundup requires python 2.5 or later (but not 3+) for correct operation.
To give Roundup a try, just download (see below), unpack and run:
python demo.py
- Release info and download page:
- Source and documentation is available at the website:
- Mailing lists - the place to ask questions:
About Roundup
Roundup is a simple-to-use and -install issue-tracking system with command-line, web and e-mail interfaces. It is based on the winning design from Ka-Ping Yee in the Software Carpentry “Track” design competition.
Note: Ping is not responsible for this project. The contact for this project is richard@users.sourceforge.net.
Roundup manages a number of issues (with flexible properties such as “description”, “priority”, and so on) and provides the ability to:
submit new issues,
find and edit existing issues, and
discuss issues with other participants.
The system will facilitate communication among the participants by managing discussions and notifying interested parties when issues are edited. One of the major design goals for Roundup that it be simple to get going. Roundup is therefore usable “out of the box” with any python 2.5+ (but not 3+) installation. It doesn’t even need to be “installed” to be operational, though an install script is provided.
It comes with two issue tracker templates (a classic bug/feature tracker and a minimal skeleton) and four database back-ends (anydbm, sqlite, mysql and postgresql).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.