Roundup Issue Tracker 2.4.0

Roundup is a simple-to-use and install issue-tracking system with web, command-line xmlrpc, rest (in the 2.0 development line) and e-mail interfaces. It is based on the winning design from Ka-Ping Yee in the Software Carpentry Track design competition. Downloading the source allows you to start a demo instance in a few minutes to see if it will fill your needs. Unpack the tarball and run: python demo.py

Tags information management issue tracking www email cli python customer-service developers system-administrators topic
License Mixed
State mature

Recent Releases

2.4.013 Jul 2024 13:13 minor bugfix: This release is a bugfix and feature release, so make sure to read https://www.roundup-tracker.org/docs/upgrading.html to bring your tracker up to date. The 79 changes, as usual, include some new features and many bug fixes. Version 2.4.0 is the last release to support Python 2. Among the notable improvements in 2.4.0 from the 2.3.0 release are: * three CVE's have been fixed. One requires changes to your tracker's home directory. The other two are fixed by installing 2.4.0. See https://www.roundup-tracker.org/docs/security.html for details and instructions on how to fix these in 2.4.0 and earlier releases. * new classhelper component thanks to a team of students from CS682 at U-Mass Boston. This fixes many issues with the old classhelper. It is implemented as a web-component and needs REST interface access. It will fall back to the classic classhelper if REST is not available or if the browser does not support web-components. * fix Windows Python installation using pip. It used to go into an infinite loop during install or download. Also fix installation of shared files (templates) so roundup-admin can find them. * using ``@current_user`` as a value in a search URL for a user property will use the current logged in user. Now you can share searches like: "My issues" as "my" will become the current logged in user. * login failures to the REST/XML-RPC interfaces are now rate limited to limit password guessing attacks. * utf8mb4 is the default charset for MySQL. This requires migrating your database using the mysql client. You can choose to keep the older character set in config.ini. The file CHANGES.txt (https://sourceforge.net/p/roundup/code/ci/tip/tree/CHANGES.txt) has a detailed list of feature additions and bug fixes for each release. Also see the information in doc/upgrading.txt.
2.3.013 Jul 2023 04:24 minor bugfix: This release is a bugfix and minor feature release. The changes, as usual, include some new features and many bug fixes. You can download it with: pip download roundup then unpack and test/install the tarball. Also:: pip install roundup (preferably in a virtual environment) can be used. Among the notable 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 file CHANGES.txt has a detailed list of feature additions and bug fixes (53) for each release.
2.2.013 Jul 2022 06:07 minor bugfix: This release is a bugfix and minor feature release. The changes, as usual, include some new features and many bug fixes. You can download it with: pip download roundup then unpack and test/install the tarball. Also:: pip install roundup (preferably in a virtual environment) can be used. Among the notable improvements from the 2.1.0 release are: - Dynamic and static compression of http responses. This improves performance when a front end web server isn't serving compressed assets. - REST interface supports CORS allowing Roundup to be used by third party web sites. Can specify origins allowed to use the REST interface. OpenAPI (SWagger) docs can be added. Error handling/reporting improved. - Dockerfile to build a containerized Roundup instance. A docker-compose configuration to deploy a a mysql based tracker is also supplied. - New full text search methods. SQLite FTS and PostgreSQL full text search are supported. These allow search expressions in addition to simple word based searches. - Secret values in config.ini can be stored in external files. This allows config.ini to be stored in a VCS without exposing secrets. - Translation object added to internal database handle. This allows auditors and extensions to provide efficient translations. - MySQL database creation uses COLLATE utf8_general_ci - Wsgi startup improvements (must be enabled by setting feature flag). - Fix crash when importing legacy Roundup tracker with long integers. - Fix issues with Roundup unable to find supporting files when installed via pip. The file CHANGES.txt has a detailed list of feature additions and bug fixes (57) for each release.
2.1.013 Jul 2021 05:20 minor bugfix: This 20th anniversary edition has been possible due to the help of several contributors. This release is a bugfix and minor feature release, so make sure to read https://www.roundup-tracker.org/docs/upgrading.html to bring your tracker up to date. 2.1.0 builds on the 2.0.0 major release that introduced: * Python 2 and Python 3 support * a new REST interface * updates to jinja2 templates including security improvements The changes, as usual, include some new features and many bug fixes. Note that you should run ``roundup-admin ... migrate`` to update the database schema version. Do this before you use the web, command-line or mail interface and before any users access the tracker. You can download it with: pip download roundup then unpack and test/install the tarball. Among the notable improvements from the 2.0.0 release are: Mysql backend now uses an index to make sure that key values are not duplicated when two roundup processes run in parallel. (Hence the need for ``roundup-admin ... migrate``.) Postgres back end uses a server side cursor. This reduces the memory use of the roundup process on large queries. Fix sorting of multilinks in templating code. Sorting by a link without a value no longer generates a traceback. Sorting now works as documented by the spec. If ``roundup-admin security`` finds an invalid property, it exits with a non-zero status. It can be used as part of a CI/CD pipeline to validate schema security. Security fixes for jQuery, markdown handling. Fixes to markdown handling if using the jinja2 template. Keyword editing in jinja2 template improved. Fix a number of tracebacks. Installation uses setuptools not distutils. Valid class names are documented and enforced. All class names now match `` A-z A-z0-9_ + A-z_ ``. Replace a number of deprecated/missing functions in newer pythons. ...
2.0.013 Jul 2020 13:26 major feature: This release contains some major changes, so make sure to read to bring your tracker up to date. There are special directions for those using the mysql backend. You can download it with: pip download roundup then unpack and test/install the tarball. Among the notable improvements from the 1.6.1 release are: Roundup is multilingual and will run under either Python 3 or Python 2. If you want to use Python 3, you *must read* the Python 3 Support section in the upgrading doc. Depending on the database backend you may have to export/import the tracker. Also you will need to make sure your tracker's Python code is Python 3 compliant. Thanks to Joseph Myers with help from Christof Meerwald. Roundup has a rest API to go along with the existing xmlrpc API. See doc/rest.txt for details on configuring, authorizing access (per role) and making a request. Thanks to Ralf Schlatterbeck who integrated and updated Chau Nguyen's GSOC code. PGP encryption is now done using the gpg module and not the obsolete pyme library. Thanks to Christof Meerwald. Use of mod_python is deprecated. Apache mod_wsgi documentation has been updated along with gunicorn and uwsgi and is the preferred mechanism. jinja templates updated to bootstrap 4.4.1. Templates use autoescape and translation library. Support for messages written in markdown added. SimpleMDE used as markdown editor to provide preview features. Thanks to Christof Meerwald. Fixes to mysql indexing may require a database dump/restore. The file CHANGES.txt has a detailed list of feature additions and bug fixes for each release. Also see the information in doc/upgrading.txt.
2.0.0beta006 Apr 2020 13:22 major feature: This release contains some major changes, so make sure to read `docs/upgrading.txt `_ to bring your tracker up to date. The changes, as usual, include some new features and many bug fixes. You can download it with: pip download roundup==2.0.0beta0 then unpack and test/install the tarball. Among the notable improvements from the 1.6.1 release are: Roundup is multilingual and will run under either Python 3 or Python 2. If you want to use Python 3, you *must read* the Python 3 Support section in the upgrading doc. Depending on the database backend you may have to export/import the tracker. Also you will need to make sure your tracker's Python code is Python 3 compliant. Thanks to Joseph Myers with help from Christof Meerwald. Roundup has a rest API to go along with the existing xmlrpc API. See doc/rest.txt for details on configuring, authorizing access (per role) and making a request. Thanks to Ralf Schlatterbeck who integrated and updated Chau Nguyen's GSOC code. PGP encryption is now done using the gpg module and not the obsolete pyme library. Thanks to Christof Meerwald. Use of mod_python is deprecated. Apache mod_wsgi documentation has been updated along with gunicorn and uwsgi and is the preferred mechanism. jinja templates updated to bootstrap 4.4.1. Templates use autoescape and translation library. Support for messages written in markdown added. SimpleMDE used as markdown editor to provide preview features. Thanks to Christof Meerwald. The file CHANGES.txt has a detailed list of feature additions and bug fixes for each release. Also see the information in doc/upgrading.txt.
2.0.0alpha023 Oct 2019 18:50 major feature: This release contains some major changes, so make sure to read `docs/upgrading.txt `_ to bring your tracker up to date. The changes, as usual, include some new features and many bug fixes. You can download it with: pip download roundup==2.0.0beta0 then unpack and test/install the tarball. Among the notable improvements from the 1.6.1 release are: Roundup is multilingual and will run under either Python 3 or Python 2. If you want to use Python 3, you *must read* the Python 3 Support section in the upgrading doc. Depending on the database backend you may have to export/import the tracker. Also you will need to make sure your tracker's Python code is Python 3 compliant. Thanks to Joseph Myers with help from Christof Meerwald. Roundup has a rest API to go along with the existing xmlrpc API. See doc/rest.txt for details on configuring, authorizing access (per role) and making a request. Thanks to Ralf Schlatterbeck who integrated and updated Chau Nguyen's GSOC code. PGP encryption is now done using the gpg module and not the obsolete pyme library. Thanks to Christof Meerwald. Use of mod_python is deprecated. Apache mod_wsgi documentation has been updated along with gunicorn and uwsgi and is the preferred mechanism. The file CHANGES.txt has a detailed list of feature additions and bug fixes for each release. Also see the information in doc/upgrading.txt.
1.6.113 Jul 2019 13:27 minor bugfix: Features: - doc updates. Link rot fixed and some grammar changes. 'Provisional User' config example fixed. Issue tracker is now https. (John Rouillard) Fixed: - issue2550994: avoid breakage caused by use of backports of Python 3 configparser module to Python 2. (Joseph Myers) - issue2551023: Fix CSRF headers for use with wsgi and cgi. The env variable array used - separators rather than _. Compare: HTTP_X-REQUESTED-WITH to HTTP_X_REQUESTED_WITH. The last is correct. Also fix roundup-server to produce the latter form. (Patch by Cedric Krier, reviewed/applied John Rouillard.) - issue2551035 - fix XSS issue in wsgi and cgi when handing url not found/404. Reported by hannob at https://github.com/python/bugs.python.org/issues/34, issue opened by JulienPalard. - issue2551029: Jinja2 template install error. Remove config.ini from templates to make sure that roundup-admin install writes a new default config.ini based on configuration.py. - issue2551029: Jinja2 template install error. Handle issue with template's config.ini not getting updated. Provide an alternate file: config_ini.ini for required config settings that are merged into the default values producing an up to date config.ini on install.
1.6.009 Jun 2019 23:39 major feature: Requires Python 2.7 now issue2550690 - CSRF protection improved issue2550799: provide basic support for handling html only emails issue2550880: Ability to choose password store scheme and SSHA support. Allow multiple file uploads: If the html template specifies multiple="multiple" for a file upload the user can attach multiple files issue2550886: Add support for an integer type to join the existing number type. issue2550636, issue2550909: Added support for Whoosh fill text indexer. issue2550767: Add newitemcopy.py detector to notify users of new items. Many more feature and bug fixes.