=====================
Roundup Issue Tracker
=====================
.. meta::
:title: Roundup Issue Tracker
:description: A simple-to-use and -install issue-tracking system
with command-line, web, REST, XML-RPC and e-mail interfaces.
Adaptable to many uses cases. Allows you to customise the look
and feel and implement different workflows.
:og\:type: website
:og\:url: https://www.roundup-tracker.org/
:og\:title: Roundup Issue Tracker
:og\:description: A simple-to-use and -install issue-tracking system
with command-line, web, REST, XML-RPC and e-mail interfaces.
Adaptable to many uses cases. Allows you to customise the look
and feel and implement different workflows.
:og\:image: https://www.roundup-tracker.org/_images/index_logged_out.png
.. raw:: html
Roundup is a simple-to-use and -install issue-tracking system with
command-line, web, REST, XML-RPC and e-mail interfaces. It is based
on the winning design from Ka-Ping Yee in the Software Carpentry
"Track" design competition.
It is designed to be customised so you can "track your issues your
way".
The current stable version of Roundup is 2.3.0. It fixes bugs and
and adds features compared to the 2.2.0 release.
It runs with Python 2.7.12+ or 3.6+.
.. admonition:: Python 2 Support
Although the original plan was to support Python 2 until 2025,
CI resources for testing with Python 2 are being phased out by a
number of CI services. Python 3 should be used to deploy new
trackers and older trackers should be `upgraded to use Python 3
`_.
Release Highlights
==================
Some improvements from the 2.2.0 release are:
* Dockerfile demo mode implemented. This allows quick evaluation as
well as the ability to spin up a configured tracker to customise.
* SQLite backends can use WAL mode to reduce blocking between readers
and writers improving concurrent use.
* Redis can be used for session database with SQLite and dbm
backends. Provides a major performance improvement.
* roundup-mailgw can use OAUTH authentication to SMTP
server. (roundup-mailgw command line options changed as a result.)
* Postgres full text index can now be enabled.
* Modifications to in-reply-to threading when there are multiple
matches resulting in more predictable handling of messages.
* Many updates to documentation to make it scannable, useful and
work on mobile.
* Admin documentation includes a section on setting up Content
Security Policy (CSP) to better secure your Roundup trackers.
* REST now allows rate limiting headers to be accessed by client
JavaScript.
* Default number of rounds for PBKDF2 updated to 2M to account for
improvements in password crackers and CPU power.
* Support PBKDF2 with SHA512 for password storage to improve
resistance to password crackers.
* Deprecate SSHA password hash function.
* roundup-admin reindex can be done in batches to manage load
incurred by reindexing.
* roundup-admin can list available templates and their installed
locations. This is useful when installing via pip or in a docker
container as supporting files are not stored in the usual locations
like /usr/share/roundup.
* Crash fixes in detector handling, configuration handling, fix for
sorting of multilinks.
More info on the 53 changes can be found in the `change notes`_.
Roundup Use Cases
=================
For more information on Roundup see the :doc:`features list
`, :doc:`design overview `, and all the
other :doc:`documentation `. Roundup has been deployed for:
* bug tracking and TODO list management (the classic
installation)
* customer help desk support (with a wizard for the phone
answerers, linking to networking, system and development
issue trackers)
* issue management for IETF working groups
* sales lead tracking
* conference paper submission and double-blind referee
management
* weblogging (well, almost :)
* thing management using the `GTD methodology `_.
...and so on. It's been designed with :doc:`flexibility
` in mind - it's not just another bug
tracker.
Try It Out
==========
Roundup ships with a **demo tracker** to play with - you don't need to
install Roundup. After you've unpacked the source, just run "``python
demo.py``" and load up the URL it prints out!
Follow the source gratification mode with these steps (change the
``-2.3.0`` version identifier to match your downloaded file).
1. ``python3 -m pip download roundup``
2. ``tar -xzvf roundup-2.3.0.tar.gz``
* if you don't have a tar command (e.g windows), use:
``python -c 'import tarfile; tarfile.open(sys.argv[1]).extractall();' roundup-2.3.0.tar.gz``
3. ``cd roundup-2.3.0``
4. ``python3 demo.py``
(The source download can also be used to `create a custom Docker
image `_.)
Alternatively, you can install using a virtual environment with pip
by:
1. create a virtual environment with::
python3 -m venv roundup
2. activate the environment with (assuming your shell is
sh/bash/zsh/ksh like)::
. roundup/bin/activate
3. install the latest release of Roundup with::
python3 -m pip install roundup
4. create a demo tracker with::
roundup-demo
using ``./demo`` as the directory and the ``classic`` tracker.
5. load the URL printed by the demo tracker
6. when you are done, use `deactivate` to return your shell to using
the system python.
Both of these methods produce the same result.
Origin Story
============
Roundup was originally released as version 0.1.1 in late August, 2001.
The first `change note`_ written said:
Needed a bug tracking system. Looked around. Tried to install many Perl-based systems, to no avail.
Got tired of waiting for Roundup to be released. Had just finished major product project, so needed
something different for a while. Roundup here I come...
.. _`download`: https://pypi.org/project/roundup/
.. _`change notes`: https://sourceforge.net/p/roundup/code/ci/tip/tree/CHANGES.txt
.. _`change note`: https://sourceforge.net/p/roundup/code/ci/tip/tree/CHANGES.txt
.. _`its own set of docs`: https://www.roundup-tracker.org/dev-docs/docs.html