1- I'm proud to release version 2.1.0beta1 of the Roundup issue tracker
2- which has been possible due to the help of several contributors. This
3- release is a bugfix and feature release, so make sure to read
4- `docs/upgrading.txt <https://www.roundup-tracker.org/docs/upgrading.html>`_
5- to bring your tracker up to date.
1+ I'm proud to release version 2.1.0 of the Roundup issue tracker.
2+ This 20th anniversary edition has been possible due to the help of
3+ several contributors. This release is a bugfix and minor feature
4+ release, so make sure to read `docs/upgrading.txt
5+ <https://www.roundup-tracker.org/docs/upgrading.html>`_ to bring your
6+ tracker up to date.
7+
8+ 2.1.0 builds on the 2.0.0 major release that introduced:
9+
10+ * Python 2 and Python 3 support
11+ * a new REST interface
12+ * updates to jinja2 templates including security improvements
13+
14+ The changes, as usual, include some new features and many bug fixes.
615
716Note that you should run ``roundup-admin ... migrate`` to update the
817database schema version. Do this before you use the web, command-line
918or mail interface and before any users access the tracker.
1019
11- The changes, as usual, include some new features and many bug fixes.
12-
1320You can download it with:
1421
15- pip download roundup==2.1.0b1
22+ pip download roundup
1623
1724then unpack and test/install the tarball.
1825
1926Among the notable improvements from the 2.0.0 release are:
2027
21- Uses setuptools not distutils for installation. This code **needs
22- testing** as it has caused issues. It seems to work with virtualenv,
23- and --prefix install as well as standard install into the platform
24- supplied python install.
28+ Mysql backend now uses an index to make sure that key values are not
29+ duplicated when two roundup processes run in parallel. (Hence the
30+ need for ``roundup-admin ... migrate``.)
2531
26- mysql backend now uses an index to make sure that key values are not
27- duplicated when two roundup processes run in parallel .
32+ Postgres back end uses a server side cursor. This reduces the memory
33+ use of the roundup process on large queries .
2834
29- Postgres back end now uses a server side cursor, so large queries
30- won't consume hunge amounts of memory.
35+ Fix sorting of multilinks in templating code. Sorting by a link
36+ without a value no longer generates a traceback. Sorting now works
37+ as documented by the spec.
3138
32- roundup-admin security exits non-zero if it finds an invalid
33- property . It can be used as part of a CI/CD pipeline to validate
34- schema security.
39+ If `` roundup-admin security`` finds an invalid property, it exits
40+ with a non-zero status . It can be used as part of a CI/CD pipeline
41+ to validate schema security.
3542
36- Security fixes for jQuery, markdown handling,
43+ Security fixes for jQuery, markdown handling.
3744
38- Valid class names are documented and enforced. All class names now
39- match ``[A-z][A-z0-9_]+[A-z_]``.
45+ Fixes to markdown handling if using the jinja2 template.
4046
41- A number of fixes to markdown handling if using the jinja2
42- template.
47+ Keyword editing in jinja2 template improved.
4348
4449 Fix a number of tracebacks.
4550
46- Fix sorting of multilinks in templating code. Sorting by a link
47- without a value no longer generates a traceback. Sorting now works
48- as documented by the spec.
51+ Installation uses setuptools not distutils.
52+
53+ Valid class names are documented and enforced. All class names now
54+ match ``[A-z][A-z0-9_]+[A-z_]``.
4955
50- Fix a number of deprecated calls for newer pythons.
56+ Replace a number of deprecated/missing functions in newer pythons.
5157
5258 Fix history showing invalid data when an update is rejected.
5359
54- roundup-admin filter works transitively and handles empty values
55- properly.
56-
57- password reset documented in user guide.
60+ The filter command in roundup-admin works transitively and handles
61+ empty values properly.
5862
59- keyword editing in jinja2 template improved .
63+ Password reset documented in user guide .
6064
61- language used for stemming in xapian indexer can be set .
65+ Admins can set the language used for stemming in the xapian indexer.
6266
63- devel and responsive template strings now extracted for translation
67+ Devel and responsive template strings now extracted for translation.
6468
65- The file CHANGES.txt has a detailed list of feature additions and bug
66- fixes for each release. The most recent changes from there are at the
67- end of this announcement. Also see the information in
68- doc/upgrading.txt.
69+ The file CHANGES.txt has a detailed list of feature additions and
70+ bug fixes (58) for each release. The most recent changes from
71+ there are at the end of this announcement. Also see the
72+ information in doc/upgrading.txt.
6973
7074If you find bugs, please report them to issues AT roundup-tracker.org
7175or create an account at https://issues.roundup-tracker.org and open a
@@ -86,13 +90,12 @@ or mail interface and before any users access the tracker.
8690Roundup requires Python 2 newer than version 2.7.2 or Python 3 newer
8791than or equal to version 3.4 for correct operation.
8892
89- The wsgi, server and cgi web deployment modes are the ones with the
90- most testing.
91-
9293To give Roundup a try, just download (see below), unpack and run::
9394
9495 python demo.py
9596
97+ then open the url printed by the demo app.
98+
9699Release info and download page:
97100 https://pypi.org/project/roundup
98101Source and documentation is available at the website:
@@ -109,7 +112,10 @@ command-line, web and e-mail interfaces. It is based on the winning design
109112from Ka-Ping Yee in the Software Carpentry "Track" design competition.
110113
111114Note: Ping is not responsible for this project. The contact for this
112- 115+ project is rouilj at users.sourceforge.net. Use this address for
116+ security or other sensitive issues. Development discussions occur on
117+ the roundup-devel at lists.sourceforge.net mailing list. Tickets can
118+ be opened at https://issues.roundup-tracker.org.
113119
114120Roundup manages a number of issues (with flexible properties such as
115121"description", "priority", and so on) and provides the ability to:
@@ -125,7 +131,7 @@ is therefore usable "out of the box" with any Python 2.7.2+ (or 3.4+)
125131installation. It doesn't even need to be "installed" to be operational,
126132though an install script is provided.
127133
128- It comes with five issue tracker templates
134+ It comes with five basic issue tracker templates
129135
130136* a classic bug/feature tracker
131137* a more extensive devel tracker for bug/features etc.
@@ -138,6 +144,8 @@ and supports four database back-ends (anydbm, sqlite, mysql and postgresql).
138144Recent Changes
139145==============
140146
147+ From 2.0.0 to 2.1.0.
148+
141149Fixed:
142150
143151- Reverse multilink to *the same class* would trigger a traceback about
@@ -155,7 +163,7 @@ Fixed:
155163 an empty link in the transitive property (e.g. author.username when
156164 requesting message properties) would result in a 404 error. Now we're
157165 returning a JSON 'null' value. for an empty link (e.g. empty author in
158- the example).
166+ the example). (John Rouillard)
159167- sphinxcontrib.cheeseshop is unmaintained and using old http
160168 url. Attempts to override cheeseshop_url failed. Replace call to
161169 cheeseshop in docs with raw html and remove references to
@@ -174,7 +182,7 @@ Fixed:
174182- issue2551099 - disable processing of data url's in markdown. Display
175183 as plain text. (John Rouillard)
176184- issue2551100 - old jquery has security issues, upgrade it and fix
177- user.help.html
185+ user.help.html (John Rouillard)
178186- replace deprecated base64.decodestring with base64.b64decode in
179187 roundup_server.py and roundup_xlmrpc_server.py (reported by
180188 lmsteffan in irc)
@@ -188,14 +196,14 @@ Fixed:
188196 <database>/backend_name. (John Rouillard)
189197- fixed some issues when generating translations. Use mappings and
190198 named format parameters so translators can move substituted tokens
191- in translations.
199+ in translations. (John Rouillard)
192200- in rest interface, fix uncaught exceptions when parsing invalid
193201 Content-Type and Accept headers. Document response formats more
194- fully in doc/rest.txt.
202+ fully in doc/rest.txt. (John Rouillard)
195203- in filter, filter_iter and _materialize_multilinks, use named cursor
196204 with postgresql. This turns of client-side cursor handling and avoids
197205 *large* roundup process (or wsgi process) in case of large results.
198- Fixes issue2551114.
206+ Fixes issue2551114. (Ralf Schlatterbeck)
199207- issue2551108 - fix handling of designator links when formatted
200208 as markdown links. (Reported by Cedric Krier; John Rouillard)
201209- Fix filename created from mail attachments, fixes issue2551118
@@ -231,7 +239,7 @@ Fixed:
231239 sort at start or end of sorted list. (John Rouillard)
232240- issue2550648 - keyword boolean search. Issue has multiple problems.
233241 Fix issue where saving the keyword boolean search would remove the
234- link to open the editor.
242+ link to open the editor. (John Rouillard)
235243- issue2551136 - timezone extention crash on Python 3.8. cgi.escape
236244 is used in some template to provide a select box of timezones. It
237245 uses cgi.escape that is deprecated and removed from 3.8 and newer.
@@ -241,29 +249,32 @@ Fixed:
241249 have been upgraded to TLS 1.1. Cert is RSA 2048 bytes with SHA512
242250 signature. Without these upgrades, ssl mode won't start. Note this
243251 exposes other issue with roundup-server operating as an SSL
244- endpoint. See issue2551138 and issue2551137.
252+ endpoint. See issue2551138 and issue2551137. (John Rouillard)
245253- issue2551122 - sorted method of MultilinkHTMLProperty does a string
246254 sort even if the property is an integer. Fixed so that the orderprop
247255 for the linked class is used. (John Rouillard, reported by Nagy Gabor)
248256- issue2550964 - History can (temporarily) show incorrect value when a
249257 change is rejected. Fix history function to always use the database
250- values and ignore the current setting in the form.
258+ values and ignore the current setting in the form. (John Rouillard)
251259- Fix find() with anydbm. Using protected properties raised KeyError.
252260 Add shortcut fast return. Both changes come from rdbms_common.py's
253261 find(). (John Rouillard)
254262- Fix traceback caused by calling history() with arguments in a
255- non-item context.
256- - issue2551141 - roudup -admin returns no such class when restoring
263+ non-item context. (John Rouillard)
264+ - issue2551141 - roundup -admin returns no such class when restoring
257265 item with duplicate key. Fix incorrect error message when using
258266 roundup-admin to restore a user when the username is already in use.
259267 (John Rouillard)
260268- issue2551142 - Import of retired node with username after active
261- node fails with unique constraint failure. (John Rouillard)
269+ node is imported raises unique constraint failure. (Reported by Ganesh
270+ Sittampalam/Heffalump on irc. John Rouillard)
262271- *** Must run roundup-admin migrate ***
263272 Increment rdbms version from 5 to 6. Mysql rdbms classes were
264273 missing unique key constraint. Found during fix for issue2551142.
265- See upgrading.txt.
274+ See upgrading.txt. (John Rouillard)
266275- ignore blank lines in CSV class editing. (John Rouillard)
276+ - issue2551122 - fixing order by a link/multilink broke other props
277+ should be final change for that ticket. (John Rouillard)
267278
268279Features:
269280
@@ -300,7 +311,7 @@ Features:
300311 tx_Source_detector.py to roundup/test for two reasons: It's used in the
301312 memorydb convenience functions and it may be useful in other tests. Make
302313 the prefix a parameter of the convenience functions to be usable in other
303- tests.
314+ tests. (Ralf Schlatterbeck)
304315- pytest suite now starts the server under wsgi and loads the home
305316 page. This test is skipped if the requests module is not installed.
306317- extract translatable strings from devel and responsive templates. Merge
@@ -312,4 +323,10 @@ Features:
312323 Allow admin to configure authentication header replacing the default
313324 REMOTE_USER. Also allow arbitrary headers to be passed to the
314325 tracker when using roundup-server behind a proxy. This code is
315- experimental see upgrading.txt admin_guide.txt.
326+ experimental see upgrading.txt admin_guide.txt. (John Rouillard)
327+ - add image/svg-xml as valid mime type to serve. Was being served as
328+ octet-stream. (John Rouillard)
329+ - improve customizing.txt documentation on use of Special Form
330+ Variables. Added example html inputs to illustrate the doc.
331+ Fix position of designator in doc example. It occurs before
332+ @link@ or other edit command. (John Rouillard)
0 commit comments