1- I'm proud to release version 2.5.0b1 of the Roundup issue
1+ I'm proud to release version 2.5.0 of the Roundup issue
22tracker. This release is a bugfix and feature release, so
33make sure to read `docs/upgrading.txt
44<https://www.roundup-tracker.org/docs/upgrading.html>`_ to
@@ -7,7 +7,8 @@ bring your tracker up to date.
77The 41 changes, as usual, include some new features and many
88bug fixes.
99
10- Version 2.5.0b1 does not support Python 2.
10+ Version 2.5.0 does not support Python 2. The minimum Python
11+ version is 3.7.
1112
1213Note that you should run ``roundup-admin ... migrate`` to
1314update the database schema version. Do this before you use
@@ -24,54 +25,80 @@ You can install it with::
2425
2526then unpack and test/install from the tarball.
2627
27- Among the notable improvements in 2.5.0 from the 2.4.0
28- release are:
29-
30- * detect more errors in RPN search expressions. Return more
31- useful error messages. Documented (advanced) RPN search expressions
32- in the user guide.
33-
34- * change default password hash method to PBKDF2 with SHA512. You
35- may need to reset password_pbkdf2_default_rounds to a lower
36- value. See upgrading doc.
37-
38- * add filter function to Permission objects. This pushes some
39- permission checks down to the SQL database and speeds up display of
40- index pages.
41-
42- * fix crash bug on windows with Python 3.13
43-
44- * update doc on required REST headers. Also other docs updates.
45-
46- * detect error condition early when we can't respond with requested
47- REST format response (e.g. xml is requested).
48-
49- * do not generate an error if a PUT REST request sets the user's
50- address to the current value.
51-
52- * make ``roundup-gettext`` extract translatable strings from detectors
53- and extensions.
54-
55- * improve security of session cookies by marking them with the magic
56- ``__Secure__`` prefix.
57-
58- * make the rest endpoint return raw message or file content data. Use
59- the ``binary_content`` endpoint and a suitable ``Accept``` header in
60- the request.
61-
62- * add support for the ``defusedxml`` Python module to improve security when
63- using XML.
64-
65- * add templating function: ``utils.set_http_response(integer)`` to set
66- HTTP return code from your template.
67-
68- * add generation of native HTML date and number/integer inputs. See
69- Upgrading for caveats this is disabled by default.
70-
71- * re-enable support for GPG/PGP signed emails. Requires installing
72- from the test PyPi repository.
73-
74- * remove XHTML support simplifying the code base
28+ Among the significant enhancements in version 2.5.0 compared to
29+ the 2.4.0 release are:
30+
31+ The property/field advanced search expression feature has been
32+ enhanced. The RPN search expression format was previously
33+ undocumented. Search expressions are usually built using the
34+ expression editor on the search page. They can be built manually
35+ by modifying the search URL. However errors in expressions could
36+ return results that didn't match the user's intent. This release
37+ documents the RPN expression syntax, adds expression error
38+ detection, and improves error reporting.
39+
40+ To boost security, Roundup updated the default hash method for
41+ password storage. Now, we're using PBKDF2 with SHA512. Because of
42+ this change, you should change (lower) the value of
43+ password_pbkdf2_default_rounds in your tracker's config.ini. Check
44+ the upgrading documentation for more info. (Note this may cause
45+ longer authentication times, the upgrade doc describes how to
46+ downgrade the hash method.)
47+
48+ For better security, Roundup's session token is now prefixed with
49+ the magic ``__Secure__`` tag when using HTTPS. This adds to the
50+ existing ``Secure`` property that comes with the session cookie.
51+
52+ Roundup verifies the user's authorization for the data fetched
53+ from the database. A new optional ``filter`` argument has been
54+ added to Permission objects. When the administrator supplies a
55+ filter function, it can boosts performance with SQL server
56+ databases. This function should provide selection criteria to
57+ offload permission checks to the database. Consequently, less data
58+ is retrieved from the database, leading to quicker display of
59+ index pages with reduced CPU and network traffic.
60+
61+ Requsting binary data from a REST endpoint has been a
62+ hassle. Since JSON can't handle binary data, images (and other
63+ binary data) need to be encoded. This makes them significantly
64+ larger. The workaround was to use a non-REST endpoint for fetching
65+ non-text attachments. This update lets the REST endpoint return
66+ raw message or file content data. You can utilize the
67+ ``binary_content`` endpoint along with an appropriate ``Accept``
68+ header (e.g. ``image/jpeg``) in your request.
69+
70+ The ``roundup-gettext`` tool has been enhanced to extract
71+ translatable strings from detectors and extensions. This will
72+ simplify the process of translating your trackers.
73+
74+ Other miscellaneous fixes include:
75+
76+ * Fixed a crash bug on Windows with Python 3.13.
77+
78+ * Updated documentation on required REST headers, along with other
79+ documentation updates.
80+
81+ * Early detection of error conditions when we can't provide the
82+ requested REST format response (like when XML is requested).
83+
84+ * An error is not generated if a PUT REST request sets the user's address
85+ to its current value.
86+
87+ * Added support for the ``defusedxml`` Python module to enhance
88+ security when using XML.
89+
90+ * Introduced a templating function:
91+ ``utils.set_http_response(integer)`` to set the HTTP return code
92+ directly from your template.
93+
94+ * Added the ability to generate native HTML date and
95+ number/integer inputs. Check Upgrading for caveats, as this
96+ feature is disabled by default.
97+
98+ * Re-enabled support for GPG/PGP signed emails, which requires
99+ installation from the test PyPi repository.
100+
101+ * Removed XHTML support to simplify the code base.
75102
76103The file CHANGES.txt has a detailed list of feature
77104additions and bug fixes for each release. The most recent
0 commit comments