Skip to content

Commit b8d7ed4

Browse files
committed
doc: prep announcement.txt for 2.4.0beta1
Still have to add the classhelper web-component, but get the rest of the beta announcement ready. [skip travis]
1 parent 9299157 commit b8d7ed4

File tree

1 file changed

+96
-226
lines changed

1 file changed

+96
-226
lines changed

doc/announcement.txt

Lines changed: 96 additions & 226 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
I'm proud to release version 2.3.0 of the Roundup issue
1+
I'm proud to release version 2.4.0 beta of the Roundup issue
22
tracker. This release is a bugfix and feature
33
release, so make sure to read `docs/upgrading.txt
44
<https://www.roundup-tracker.org/docs/upgrading.html>`_ to
@@ -12,131 +12,150 @@ update the database schema version. Do this before you use
1212
the web, command-line or mail interface and before any users
1313
access the tracker.
1414

15-
You can download it with::
16-
17-
pip download roundup
18-
19-
then unpack and test/install the tarball. Also::
15+
You can install it with::
2016

2117
pip install roundup
2218

23-
(preferably in a virtual environment) can be used.
19+
(preferably in a virtual environment). To download it, use::
2420

25-
Among the notable improvements from the 2.2.0 release are:
21+
pip download roundup
22+
23+
then unpack and test/install from the tarball.
2624

27-
* Dockerfile demo mode implemented. This allows quick evaluation as
28-
well as the ability to spin up a configured tracker to customise.
25+
Among the notable improvements from the 2.3.0 release are:
2926

30-
* SQLite backends can use WAL mode to reduce blocking between readers
31-
and writers improving concurrent use.
27+
* new classhelper component thanks to a team of students
28+
from CS682 at U-Mass Boston. This fixes many issues with
29+
the old classhelper. It is implemented as a web-component
30+
and needs REST interface access. It will fall back to the
31+
classic classhelper if REST is not available or if the
32+
browser does not support web-components.
3233

33-
* Redis can be used for session database with SQLite and dbm
34-
backends. Provides a major performance improvement.
34+
* fix Windows Python installation using pip. It used to go
35+
into an infinite loop during install or download. Also fix
36+
installation of shared files (templates) so roundup-admin
37+
can find them.
3538

36-
* roundup-mailgw can use OAUTH authentication to SMTP
37-
server. (roundup-mailgw command line options changed as a result.)
39+
* using ``@current_user`` as a value in a search URL for a
40+
user property will use the current logged in user. Now you
41+
can share searches like: "My issues" as "my" will become
42+
the current logged in user.
3843

39-
* Postgres full text index can now be enabled.
44+
* login failures to the REST/Xmlrpc interfaces ae now rate
45+
limited.
4046

41-
* Modifications to in-reply-to threading when there are multiple
42-
matches resulting in more predictable handling of messages.
47+
* utf8mb4 is the default charset for MySQL. This requires
48+
migrating your database using the mysql client. You can
49+
choose to keep the older character set in config.ini.
4350

44-
* Many updates to documentation to make it scannable, useful and
45-
work on mobile.
51+
* PostgreSQL services defined in pg_service.conf can be
52+
used. PostgreSQL schemas are supported to eliminate the
53+
need for the roundup user to have database
54+
creation/deletion privs.
4655

47-
* Admin documentation includes a section on setting up Content
48-
Security Policy (CSP) to better secure your Roundup trackers.
56+
* fix out of memory issue when importing larger trackers
57+
into PostgreSQL.
4958

50-
* REST now allows rate limiting headers to be accessed by client
51-
JavaScript.
59+
* multiple roundup-admin improvements: display protected
60+
properties (like creation date), better formatting of
61+
output, command history. Also on windows, pyreadline3 is
62+
supported to provide an editable interactive command line.
5263

53-
* Default number of rounds for PBKDF2 updated to 2M to account for
54-
improvements in password crackers and CPU power.
64+
* an experimental wsgi performance improvment in 2.3.0 is
65+
now now the default and is opt-out.
5566

56-
* Support PBKDF2 with SHA512 for password storage to improve
57-
resistance to password crackers.
67+
* new template functions: utils.readfile and
68+
utils.expandfile. Javascript that is included in the
69+
Python core will be moved to external files and be able to
70+
have values from Roundup substituted in the Javascript.
5871

59-
* Deprecate SSHA password hash function.
72+
* allow content-type of a template to be set from inside the
73+
template. This allows returning json or xml from a
74+
template without a .json or .xml extention.
6075

61-
* roundup-admin reindex can be done in batches to manage load
62-
incurred by reindexing.
76+
* fix import/export on windows to use Unix style line
77+
endings fixing export/import on Windows and making exports
78+
portable across platforms.
6379

64-
* roundup-admin can list available templates and their installed
65-
locations. This is useful when installing via pip or in a docker
66-
container as supporting files are not stored in the usual locations
67-
like /usr/share/roundup.
80+
* various other Windows platform fixes including test suite
81+
fixes.
6882

69-
* Crash fixes in detector handling
83+
* sqlite version 1 and StructuredText support removed.
7084

71-
The file CHANGES.txt has a detailed list of feature additions and
72-
bug fixes (53) for each release. The most recent changes from
73-
there are at the end of this announcement. Also see the
74-
information in doc/upgrading.txt.
85+
The file CHANGES.txt has a detailed list of feature
86+
additions and bug fixes (58) for each release. The most
87+
recent changes from there are at the end of this
88+
announcement. Also see the information in doc/upgrading.txt.
7589

76-
If you find bugs, please report them to issues AT roundup-tracker.org
77-
or create an account at https://issues.roundup-tracker.org and open a
78-
new ticket. If you have patches to fix the issues they can be attached
79-
to the email or uploaded to the tracker.
90+
If you find bugs, please report them to issues AT
91+
roundup-tracker.org or create an account at
92+
https://issues.roundup-tracker.org and open a new ticket. If
93+
you have patches to fix the issues they can be attached to
94+
the email or uploaded to the tracker.
8095

8196
Upgrading
8297
=========
8398

84-
If you're upgrading from an older version of Roundup you *must* follow
85-
all the "Software Upgrade" guidelines given in the doc/upgrading.txt
86-
documentation.
99+
If you're upgrading from an older version of Roundup you
100+
*must* follow all the "Software Upgrade" guidelines given in
101+
the doc/upgrading.txt documentation.
87102

88103
Note that you should run ``roundup-admin ... migrate`` for
89104
all your trackers to update the database schema version. Do
90105
this before you use the web, command-line or mail interface
91106
and before any users access the tracker.
92107

93-
Roundup requires Python 2 newer than version 2.7.12 or Python 3 newer
94-
than or equal to version 3.6 for correct operation. (Python
95-
3.4 or 3.5 may work, but are not tested.) Note that Python 2 support
96-
is being removed from the CI platforms, so you should deploy new
97-
trackers with Python 3 and plan on upgrading older trackers from Python
98-
2 to Python 3. See the upgrade guide.
108+
Roundup requires Python 2 newer than version 2.7.12 or
109+
Python 3 newer than or equal to version 3.6 for correct
110+
operation. (Python 3.4 or 3.5 may work, but are not tested.)
111+
Note that Python 2 support is being removed from the CI
112+
platforms, so you should deploy new trackers with Python 3
113+
and plan on upgrading older trackers from Python 2 to Python
114+
3. See the upgrade guide.
99115

100-
To give Roundup a try, just download (directions above), unpack and run::
116+
To give Roundup a try, just download (directions above),
117+
unpack and run::
101118

102119
python demo.py
103120

104121
then open the url printed by the demo app.
105122

106123
Release info and download page:
124+
107125
https://pypi.org/project/roundup/
126+
108127
Source and documentation is available at the website:
128+
109129
https://www.roundup-tracker.org/
130+
110131
Mailing lists - the place to ask questions:
132+
111133
https://sourceforge.net/p/roundup/mailman/
112134

113135

114136
About Roundup
115137
=============
116138

117-
Roundup is a simple-to-use and install issue-tracking system with
118-
command-line, web and e-mail interfaces. It is based on the winning design
119-
from Ka-Ping Yee in the Software Carpentry "Track" design competition.
120-
121-
Note: Ping is not responsible for this project. The contact for this
122-
project is rouilj at users.sourceforge.net. Use this address for
123-
security or other sensitive issues. Development discussions occur on
124-
the roundup-devel at lists.sourceforge.net mailing list. Tickets can
125-
be opened at https://issues.roundup-tracker.org.
139+
Roundup is a simple-to-use and install issue-tracking system
140+
with command-line, web and e-mail interfaces. It is based on
141+
the winning design from Ka-Ping Yee in the Software
142+
Carpentry "Track" design competition.
126143

127-
Roundup manages a number of issues (with flexible properties such as
128-
"description", "priority", and so on) and provides the ability to:
144+
Roundup manages a number of issues (with flexible properties
145+
such as "description", "priority", and so on) and provides
146+
the ability to:
129147

130148
(a) submit new issues,
131149
(b) find and edit existing issues, and
132150
(c) discuss issues with other participants.
133151

134-
The system facilitates communication among the participants by managing
135-
discussions and notifying interested parties when issues are edited. One of
136-
the major design goals for Roundup that it be simple to get going. Roundup
137-
is therefore usable "out of the box" with any Python 2.7.2+ (or 3.6+)
138-
installation. It doesn't even need to be "installed" to be operational,
139-
though an install script is provided.
152+
The system facilitates communication among the participants
153+
by managing discussions and notifying interested parties
154+
when issues are edited. One of the major design goals for
155+
Roundup that it be simple to get going. Roundup is therefore
156+
usable "out of the box" with any Python 3.6+
157+
installation. It doesn't even need to be "installed" to be
158+
operational, though an install script is provided.
140159

141160
It comes with five basic issue tracker templates
142161

@@ -146,161 +165,12 @@ It comes with five basic issue tracker templates
146165
* a jinja2 version of the devel template (work in progress)
147166
* a minimal skeleton
148167

149-
and supports four database back-ends (anydbm, sqlite, mysql and postgresql).
168+
and supports four database back-ends (anydbm, sqlite, mysql
169+
and postgresql).
150170

151171
Recent Changes
152172
==============
153173

154-
From 2.2.0 to 2.3.0
155-
156-
Fixed:
157-
------
158-
159-
- Updated directions for verifying Roundup distribution using pgp.
160-
- Dockerfile healthcheck fixed so it works when trackers are
161-
specified on command line. Also cleanup of unneeded
162-
packages. (John Rouillard)
163-
- issue2551224 - Replace dbm db for sessions and otks when using
164-
sqlite. New databases are created for session data (db-session)
165-
and one time key data (db-otk). The data is ephemeral so no
166-
need to migrate. (John Rouillard)
167-
- issue2551223 - Timestamps are truncated in mysql and postgresql
168-
for session and otk database tables. Modify db schema to use a
169-
numeric type that preserves more significant figures. See
170-
upgrading.txt for required steps. (John Rouillard)
171-
- added more testing of BasicDatabase to support use of SQLite
172-
for that purpose. Had to fix memory, rdbms and dbm edge cases
173-
due to new tests. (John Rouillard)
174-
- issue2551138 - roundup-server with ssl under python2 throws
175-
traceback on socket close. Not sure how this got fixed,
176-
but after fixing issue2551137 it was not an issue anymore.
177-
- issue2551137 - roundup-server won't run with ssl under python3
178-
Fixed by using SocketIO and manually adding buffering io and
179-
catching SSL.ZeroReturnError indicating SSL has been shut down.
180-
- add caching header for text/javascript in addition to depricated
181-
application/javascript. (John Rouillard)
182-
- Enable postgres-fts: fix indexer-common::get_indexer so it returns a
183-
postgresql-fts Test code paths in get_indexer. (John Rouillard)
184-
- Fix Postgres native-fts, implement a two phase initialization of the
185-
indexer. The native-fts one gets assigned after the database
186-
connection is open. (John Rouillard)
187-
- fix crash if postgresql native-fts backend is asked to index content
188-
with null bytes. (John Rouillard)
189-
- issue2551232 - modify in-reply-to threading when multiple matches
190-
Change how in-reply-to threading works in the mailgw. If there is
191-
more than one issue with a matching parent message, fall back to
192-
subject matching. See upgrading.txt for details. (John Rouillard)
193-
- issue2551195 - port scripts from optparse to argparse (Ralf Schlatterbeck)
194-
- issue2551246 - mitigation, document how -u doesn't work for
195-
roundup-admin. (John Rouillard)
196-
- Document better that files in the template or static_files
197-
directories accessed via @@file are available to any user with the
198-
url. (John Rouillard)
199-
- Fix final exception handler in roundup-server to send proper
200-
Content-Length header to the client. (John Rouillard)
201-
- Fix traceback if Origin header is missing. (John Rouillard)
202-
- issue2551250: Fix sorting of detectors even if there are two with the
203-
same name and priority (can happen if they are created in two
204-
different files).
205-
- Fix Traceback when a numeric order attribute is empty (Ralf
206-
Schlatterbeck)
207-
- Update some template schema files to assign Register permissions for the
208-
Anonymous user. Replaces the old Create permission. (John Rouillard)
209-
- Allow '*' and explicit origins in allowed_api_origins. Only return
210-
'Access-Control-Allow-Credentials' when not matching '*'. Fixes
211-
security issue with rest when using '*'. (John Rouillard)
212-
- issue2551263: In REST response expose rate limiting, sunset, allow
213-
HTTP headers to calling JavaScript. (John Rouillard)
214-
- issue2551257: When downloading an attached (user supplied file),
215-
make sure that an 'X-Content-Type-Options: nosniff' header is sent.
216-
(John Rouillard)
217-
- issue2551252 - default number of rounds for PKDF2 password increased
218-
to 2,000,000. (John Rouillard)
219-
- issue2551251 - migrate/re-encrypt PBKDF2 password if stored
220-
password used a smaller number of rounds than set in
221-
password_pbkdf2_default_rounds. (John Rouillard)
222-
- upgrade from jquery-3.5.1 to jquery-3.6.3. Update user.help.html
223-
to new version. (John Rouillard)
224-
- Dockerfile scanned with hadolint. Fixed multiple issues. (John Rouillard)
225-
- fix crash due to invalid initialization/reset of configuration.py
226-
option_validators. Crashed roundup-admin on second command if an
227-
option_validator was added by a detector or extension. (John Rouillard)
228-
- Dockerfile uses dumb-init to properly wait for child/zombie
229-
processes. Defense against child process starting from detector
230-
and becoming a zombie when its roundup-server instance exits.
231-
(John Rouillard)
232-
- Move installed frontend/Zope back to frontend/ZRoundup
233-
directory. This better identifies the directory when copied into
234-
the Zope framework. It also matches existing
235-
documentation. (John Rouilard)
236-
- Multiple fixes/updates for installation documentation.
237-
Including docker shell/admin/demo mdoes. (John Rouillard)
238-
- Invalid item identifiers passed to REST endpoint return a 404
239-
rather than a 400 error. E.G. /rest/data/issue/issue4 (rather
240-
than .../issue/4). (John Rouillard)
241-
- issue2551280 - sorted() method of MultilinkHTMLProperty is broken?
242-
(Gabor Nagy report and fix; commit John Rouillard)
243-
244-
Features:
245-
---------
246-
247-
- Add warning about limited Python 2 support lifetime to install and
248-
upgrading docs. (John Rouillard)
249-
- Dockerfile supports demo mode for instant gratification
250-
8-). Also supports shell and admin mode (John Rouillard)
251-
- Dockerfile build allows adding additional python packages via
252-
pip, setting UID tracker is run under. (John Rouillard)
253-
- issue2551140 - Added redis as a session and otk database for use
254-
with anydbm and sqlite primary databases. (John Rouillard)
255-
- issue2550559 - Pretty printing / formatting for Number types.
256-
Added pretty(format='%0.3f') method to NumberHTMLProperty to
257-
print numeric values. If value is None, return empty string
258-
otherwise str() of value. (John Rouillard)
259-
- sqlite native-fts backend now uses the stopwords list in config.ini
260-
to filter words from queries. (Stopwords are still indexed so that
261-
phrase/proximity searches still work.) (John Rouillard)
262-
- sqlite databases use WAL mode when *created* to improve read
263-
concurrency. Existing sqlite database still use rollback journal
264-
mode. See upgrading.txt for details. (John Rouillard)
265-
- issue2551233 - create new roundup-admin command "templates" list all
266-
template names, location and descriptions. Should help find where
267-
/usr/share/roundup/templates is buried during some install
268-
mechanisms. Does not need a tracker home to run. (John Rouillard)
269-
- Add OAuth authentication to the mailgw script. Now IMAPS can be used
270-
with OAuth as required by several large cloud providers. Move command
271-
line processing of the mailgw script to ``argparse``. Note that the
272-
command line options of the mailgw have changed, see upgrading.txt for
273-
details. (Ralf Schlatterbeck)
274-
- issue2551243: schema-dump.py enhanced with anti-CSRF headers. Flake8
275-
cleanup and python2 support. (John Rouillard)
276-
- issue2551253 - new password hash PBDKF2-SHA512 added. Not
277-
available by default. Follow directions in upgrading document
278-
to use. (John Rouillard)
279-
- roundup-admin migrate command reports the schema version.
280-
- issue2551262 - the mail gateway subject prefix now allows spaces
281-
before/after prefix. Also allow spaces between classname and id
282-
number in prefix designator. So "[ issue 23 ] subject" is parsed
283-
like "[issue23] subject". (John Rouillard)
284-
- [doc]: add section on implementing CSP for Roundup to admin
285-
doc. (John Rouillard)
286-
- issue2551265 - deprecate SSHA password hash method. Users using SSHA
287-
passwords will have their passwords transprently upgraded to PBKDF2
288-
derived hash on next login. (John Rouillard)
289-
- issue2551253 - Modify password PBKDF2 method to use SHA512. New
290-
hash function using PBKDF2-SHA512 available. Will be default in
291-
future. Directions for upgrading security by using it now is
292-
included in upgrading.txt. (John Rouillard)
293-
- issue2551275 - Allow configuring max_children in roundup-server.
294-
When using roundup-server in fork mode, allow raising number of
295-
forked children above the default of 40. (Original patch by Joseph
296-
Myers, config settings and docs by John Rouillard.)
297-
- roundup-admin genconfig does not need a tracker home to run. (John
298-
Rouillard)
299-
- issue2551190 - Allow roundup-admin reindex to work in
300-
batches. Running roundup-admin -i ... reindex issue:1-1000 will
301-
reindex the first 1000 issues while reporting any missing issues
302-
in the range. Also completion progress is reported when indexing a
303-
specific class.
304-
- doc updates: add explanation for SQL code in 1.3.3->1.4.0 upgrade.
305-
document schema table in rdbms backends and how to dump/extract
306-
version from them. (John Rouillard)
174+
From 2.3.0 to 2.4.0
175+
176+
TBA

0 commit comments

Comments
 (0)