Skip to content

Commit b6a0724

Browse files
committed
docs: augment the announcment with better description of top changes
1 parent a7f2311 commit b6a0724

File tree

1 file changed

+77
-50
lines changed

1 file changed

+77
-50
lines changed

doc/announcement.txt

Lines changed: 77 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
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
22
tracker. This release is a bugfix and feature release, so
33
make 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.
77
The 41 changes, as usual, include some new features and many
88
bug 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

1213
Note that you should run ``roundup-admin ... migrate`` to
1314
update the database schema version. Do this before you use
@@ -24,54 +25,80 @@ You can install it with::
2425

2526
then 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

76103
The file CHANGES.txt has a detailed list of feature
77104
additions and bug fixes for each release. The most recent

0 commit comments

Comments
 (0)