Re: [Roundup-users] Roundup Issue Tracker version 2.3.0 released

Ralf Schlatterbeck <[email protected]> Fri, 21 Jul 2023 13:28:17 +0200
Newsgroups gmane.comp.bug-tracking.roundup.devel,gmane.comp.bug-tracking.roundup.user
Message-ID <[email protected]>
Thanks John!

[Ralf, back from vacation]
On Thu, Jul 13, 2023 at 12:17:12AM -0400, John P. Rouillard wrote:
> Hello All:
> 
> I'm proud to release version 2.3.0 of the Roundup issue
> tracker.  This release is a bugfix and feature
> release, so make sure to read `docs/upgrading.txt
> <https://www.roundup-tracker.org/docs/upgrading.html>`_ to
> bring your tracker up to date.
> 
> 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. 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 usual locations
>   like /usr/share/roundup.
> 
> * Crash fixes in detector handling
> 
> The file CHANGES.txt has a detailed list of feature additions and
> bug fixes (53) for each release. The most recent changes from
> there are at the end of this announcement. Also see the
> information in doc/upgrading.txt.
> 
> If you find bugs, please report them to issues AT roundup-tracker.org
> or create an account at https://issues.roundup-tracker.org and open a
> new ticket. If you have patches to fix the issues they can be attached
> to the email or uploaded to the tracker.
> 
> Upgrading
> =========
> 
> If you're upgrading from an older version of Roundup you *must* follow
> all the "Software Upgrade" guidelines given in the doc/upgrading.txt
> documentation.
> 
> Note that you should run ``roundup-admin ... migrate`` for
> all your trackers 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.
> 
> Roundup requires Python 2 newer than version 2.7.12 or Python 3 newer
> than or equal to version 3.6 for correct operation. (Python
> 3.4 or 3.5 may work, but are not tested.) Note that Python 2 support
> is being removed from the CI platforms, so you should deploy new
> trackers with Python 3 and plan on upgrading older trackers from Python
> 2 to Python 3. See the upgrade guide.
> 
> To give Roundup a try, just download (directions above), unpack and run::
> 
>     python demo.py
> 
> then open the url printed by the demo app.
> 
> Release info and download page:
>      https://pypi.org/project/roundup
> Source and documentation is available at the website:
>      https://www.roundup-tracker.org/
> Mailing lists - the place to ask questions:
>      https://sourceforge.net/p/roundup/mailman/
> 
> 
> 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 rouilj at users.sourceforge.net. Use this address for
> security or other sensitive issues. Development discussions occur on
> the roundup-devel at lists.sourceforge.net mailing list. Tickets can
> be opened at https://issues.roundup-tracker.org.
> 
> Roundup manages a number of issues (with flexible properties such as
> "description", "priority", and so on) and provides the ability to:
> 
> (a) submit new issues,
> (b) find and edit existing issues, and
> (c) discuss issues with other participants.
> 
> The system facilitates 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.7.2+ (or 3.6+)
> installation. It doesn't even need to be "installed" to be operational,
> though an install script is provided.
> 
> It comes with five basic issue tracker templates
> 
> * a classic bug/feature tracker
> * a more extensive devel tracker for bug/features etc.
> * a responsive version of the devel tracker
> * a jinja2 version of the devel template (work in progress)
> * a minimal skeleton
> 
> and supports four database back-ends (anydbm, sqlite, mysql and postgresql).
> 
> Recent Changes
> ==============
> 
> >From 2.2.0 to 2.3.0
> 
> Fixed:
> ------
> 
> - Updated directions for verifying Roundup distribution using pgp.
> - Dockerfile healthcheck fixed so it works when trackers are
>   specified on command line. Also cleanup of unneeded
>   packages. (John Rouillard)
> - issue2551224 - Replace dbm db for sessions and otks when using
>   sqlite. New databases are created for session data (db-session)
>   and one time key data (db-otk). The data is ephemeral so no
>   need to migrate. (John Rouillard)
> - issue2551223 - Timestamps are truncated in mysql and postgresql
>   for session and otk database tables. Modify db schema to use a
>   numeric type that preserves more significant figures. See
>   upgrading.txt for required steps. (John Rouillard)
> - added more testing of BasicDatabase to support use of SQLite
>   for that purpose. Had to fix memory, rdbms and dbm edge cases
>   due to new tests. (John Rouillard)
> - issue2551138 - roundup-server with ssl under python2 throws
>   traceback on socket close. Not sure how this got fixed,
>   but after fixing issue2551137 it was not an issue anymore.
> - issue2551137 - roundup-server won't run with ssl under python3
>   Fixed by using SocketIO and manually adding buffering io and
>   catching SSL.ZeroReturnError indicating SSL has been shut down.
> - add caching header for text/javascript in addition to depricated
>   application/javascript. (John Rouillard)
> - Enable postgres-fts: fix indexer-common::get_indexer so it returns a
>   postgresql-fts Test code paths in get_indexer. (John Rouillard)
> - Fix Postgres native-fts, implement a two phase initialization of the
>   indexer. The native-fts one gets assigned after the database
>   connection is open. (John Rouillard)
> - fix crash if postgresql native-fts backend is asked to index content
>   with null bytes. (John Rouillard)
> - issue2551232 - modify in-reply-to threading when multiple matches
>   Change how in-reply-to threading works in the mailgw. If there is
>   more than one issue with a matching parent message, fall back to
>   subject matching. See upgrading.txt for details. (John Rouillard)
> - issue2551195 - port scripts from optparse to argparse (Ralf Schlatterbeck)
> - issue2551246 - mitigation, document how -u doesn't work for
>   roundup-admin. (John Rouillard)
> - Document better that files in the template or static_files
>   directories accessed via @@file are available to any user with the
>   url. (John Rouillard)
> - Fix final exception handler in roundup-server to send proper
>   Content-Length header to the client. (John Rouillard)
> - Fix traceback if Origin header is missing. (John Rouillard)
> - issue2551250: Fix sorting of detectors even if there are two with the
>   same name and priority (can happen if they are created in two
>   different files).
> - Fix Traceback when a numeric order attribute is empty (Ralf
>   Schlatterbeck)
> - Update some template schema files to assign Register permissions for the
>   Anonymous user. Replaces the old Create permission. (John Rouillard)
> - Allow '*' and explicit origins in allowed_api_origins. Only return 
>   'Access-Control-Allow-Credentials' when not matching '*'. Fixes
>   security issue with rest when using '*'.  (John Rouillard)
> - issue2551263: In REST response expose rate limiting, sunset, allow
>   HTTP headers to calling JavaScript.  (John Rouillard)
> - issue2551257: When downloading an attached (user supplied file),
>   make sure that an 'X-Content-Type-Options: nosniff' header is sent.
>   (John Rouillard)
> - issue2551252 - default number of rounds for PKDF2 password increased
>   to 2,000,000.  (John Rouillard)
> - issue2551251 - migrate/re-encrypt PBKDF2 password if stored
>   password used a smaller number of rounds than set in
>   password_pbkdf2_default_rounds.  (John Rouillard)
> - upgrade from jquery-3.5.1 to jquery-3.6.3. Update user.help.html
>   to new version.  (John Rouillard)
> - Dockerfile scanned with hadolint. Fixed multiple issues. (John Rouillard)
> - fix crash due to invalid initialization/reset of configuration.py
>   option_validators. Crashed roundup-admin on second command if an
>   option_validator was added by a detector or extension. (John Rouillard)
> - Dockerfile uses dumb-init to properly wait for child/zombie
>   processes. Defense against child process starting from detector
>   and becoming a zombie when its roundup-server instance exits.
>   (John Rouillard)
> - Move installed frontend/Zope back to frontend/ZRoundup
>   directory. This better identifies the directory when copied into
>   the Zope framework. It also matches existing
>   documentation. (John Rouilard)
> - Multiple fixes/updates for installation documentation.
>   Including docker shell/admin/demo mdoes. (John Rouillard)
> - Invalid item identifiers passed to REST endpoint return a 404
>   rather than a 400 error. E.G. /rest/data/issue/issue4 (rather
>   than .../issue/4). (John Rouillard)
> - issue2551280 - sorted() method of MultilinkHTMLProperty is broken?
>   (Gabor Nagy report and fix; commit John Rouillard)
> 
> Features:
> ---------
> 
> - Add warning about limited Python 2 support lifetime to install and
>   upgrading docs. (John Rouillard)
> - Dockerfile supports demo mode for instant gratification
>   8-). Also supports shell and admin mode (John Rouillard)
> - Dockerfile build allows adding additional python packages via
>   pip, setting UID tracker is run under. (John Rouillard)
> - issue2551140 - Added redis as a session and otk database for use
>   with anydbm and sqlite primary databases. (John Rouillard)
> - issue2550559 - Pretty printing / formatting for Number types.
>   Added pretty(format='%0.3f') method to NumberHTMLProperty to
>   print numeric values. If value is None, return empty string
>   otherwise str() of value. (John Rouillard)
> - sqlite native-fts backend now uses the stopwords list in config.ini
>   to filter words from queries. (Stopwords are still indexed so that
>   phrase/proximity searches still work.) (John Rouillard)
> - sqlite databases use WAL mode when *created* to improve read
>   concurrency. Existing sqlite database still use rollback journal
>   mode. See upgrading.txt for details. (John Rouillard)
> - issue2551233 - create new roundup-admin command "templates" list all
>   template names, location and descriptions. Should help find where
>   /usr/share/roundup/templates is buried during some install
>   mechanisms. Does not need a tracker home to run. (John Rouillard)
> - Add OAuth authentication to the mailgw script. Now IMAPS can be used
>   with OAuth as required by several large cloud providers. Move command
>   line processing of the mailgw script to ``argparse``. Note that the
>   command line options of the mailgw have changed, see upgrading.txt for
>   details. (Ralf Schlatterbeck)
> - issue2551243: schema-dump.py enhanced with anti-CSRF headers. Flake8
>   cleanup and python2 support. (John Rouillard)
> - issue2551253 - new password hash PBDKF2-SHA512 added. Not
>   available by default. Follow directions in upgrading document
>   to use.  (John Rouillard)
> - roundup-admin migrate command reports the schema version.
> - issue2551262 - the mail gateway subject prefix now allows spaces
>   before/after prefix. Also allow spaces between classname and id
>   number in prefix designator. So "[ issue 23   ] subject" is parsed
>   like "[issue23] subject". (John Rouillard)
> - [doc]: add section on implementing CSP for Roundup to admin
>   doc. (John Rouillard)
> - issue2551265 - deprecate SSHA password hash method. Users using SSHA
>   passwords will have their passwords transprently upgraded to PBKDF2
>   derived hash on next login. (John Rouillard)
> - issue2551253 - Modify password PBKDF2 method to use SHA512. New
>   hash function using PBKDF2-SHA512 available. Will be default in
>   future. Directions for upgrading security by using it now is
>   included in upgrading.txt. (John Rouillard)
> - issue2551275 - Allow configuring max_children in roundup-server.
>   When using roundup-server in fork mode, allow raising number of
>   forked children above the default of 40. (Original patch by Joseph
>   Myers, config settings and docs by John Rouillard.)
> - roundup-admin genconfig does not need a tracker home to run. (John
>   Rouillard)
> - issue2551190 - Allow roundup-admin reindex to work in
>   batches. Running roundup-admin -i ... reindex issue:1-1000 will
>   reindex the first 1000 issues while reporting any missing issues
>   in the range. Also completion progress is reported when indexing a
>   specific class.
> - doc updates: add explanation for SQL code in 1.3.3->1.4.0 upgrade.
>   document schema table in rdbms backends and how to dump/extract
>   version from them. (John Rouillard)
> 
> --
> 				-- rouilj
> John Rouillard
> ===========================================================================
> My employers don't acknowledge my existence much less my opinions.
> 
> 
> _______________________________________________
> Roundup-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/roundup-users
> 

-- 
Dr. Ralf Schlatterbeck                  Tel:   +43/2243/26465-16
Open Source Consulting                  www:   www.runtux.com
Reichergasse 131, A-3411 Weidling       email: [email protected]