Mercurial > p > roundup > code
comparison doc/announcement.txt @ 5335:e7293df727dc
Working through RELEASE.txt - updates for 1.6 release.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Thu, 21 Jun 2018 19:49:26 -0400 |
| parents | a196891cf786 |
| children | 01dabc0483b0 |
comparison
equal
deleted
inserted
replaced
| 5334:1ee8b7a671e7 | 5335:e7293df727dc |
|---|---|
| 1 I'm proud to release version 1.5.1 of Roundup which has been possible | 1 I'm proud to release version 1.6 of Roundup which has been possible |
| 2 due to the help of several contributors. This release contains | 2 due to the help of several contributors. This release contains |
| 3 important security enhancements, so make sure to read | 3 important security enhancements, so make sure to read |
| 4 `doc/upgrading.txt <http://www.roundup-tracker.org/docs/upgrading.html>`_ | 4 `doc/upgrading.txt <http://www.roundup-tracker.org/docs/upgrading.html>`_ |
| 5 to bring your tracker up to date. Other changes, as usual, include some | 5 to bring your tracker up to date. Other changes, as usual, include some |
| 6 new features and many bug fixes. | 6 new features and many bug fixes. |
| 7 | 7 |
| 8 | |
| 9 Features: | 8 Features: |
| 10 | 9 |
| 11 - The example local_replace.py has been updated to show how to link to | 10 - issue2550894: migrate test suite and run_test.py to py.test (John Kristensen) |
| 12 modern revision systems using hex revision identifiers. | 11 - issue2550880: Ability to choose password store scheme and SSHA |
| 13 This extension is used to expand shortcuts in msgs. (Bernhard Reiter) | 12 support. Discussion on devel list is tending in favor of this patch. |
| 14 - Drop comment in user settings about numeric hour offsets instead of using | 13 Embedded test works, my manual test with a SSHA password |
| 15 pytz timezone names. Due to DST these are wrong half of the year, it is | 14 assigned to a user allowed the user to log in. Ran the test suite |
| 16 much better to use timezone names. (Thomas Arendsen Hein) | 15 and the tests that were not skipped passed. (applied by John Rouillard) |
| 17 - issue2550793: Wrap messages with very long lines in the web interface. | 16 - New Link/Multilink property attribute 'msg_header_property', can be |
| 18 (Thomas Arendsen Hein) | 17 used to configure additional headers in outgoing emails. See |
| 19 - New Link / Multilink option "try_id_parsing": Sometimes the key of a | 18 documentation in ``doc/customizing.txt``. (Ralf Schlatterbeck) |
| 20 class can be numeric -- in that case roundup will try to parse the | 19 - Allow multiple file uploads: If the html template specifies |
| 21 value as an ID when evaluating form values -- not as a key. Specifying | 20 multiple="multiple" for a file upload the user can attach multiple |
| 22 try_id_parsing='no' for these Link/Multilink will skip the ID step, | 21 files and the form parser now handles this. (Ralf Schlatterbeck) |
| 23 default is 'yes'. (Ralf Schlatterbeck) | 22 - issue2550886: Add support for an integer type to join the existing |
| 24 - New configuration option 'isolation_level' in rdbms section. Currently | 23 number type. This can be used for properties used for ordering, |
| 25 supported for Postgres and mysql, sets the transaction isolation level. | 24 counts etc. where a decimal point isn't needed. Developed by |
| 26 Wrong history entries for concurrent database updates observed in | 25 Anthony (antmail). Doc updates written by John Rouillard. (applied |
| 27 issue2550806 can be prevented by setting this to 'repeatable read' if | 26 by John Rouillard) |
| 28 you want to pay the performance penalty. We test this behaviour in the | 27 - Updated html/_generic.404.html to use the page template. So 404 |
| 29 regression tests for Postgres but not currently for mysql. | 28 errors now include the left hand menu, a proper page title and |
| 30 See http://www.postgresql.org/docs/9.1/static/transaction-iso.html | 29 body content. Note added to doc/upgrading.txt on how to add it to |
| 30 deployed trackers. (John Rouillard) | |
| 31 - issue2109308 - Allow subject of nosy messages be changed from reactor | |
| 32 Adds a subject parameter to nosymessage function. Patch initally | |
| 33 generated by Frank Niessink. Tests, adaptation by John Rouillard. | |
| 34 - issue2550683 Allow indexargs_form filter variable exclusion. | |
| 35 Patch generated by Bruce Tulloch (bruce). Applied and docstring for | |
| 36 indexargs_form updated by John Rouillard. Patch description is: | |
| 37 This is required to allow indexargs_form to be used in conjunction with | |
| 38 other form variables which *replace* some filterspec parameters. | |
| 39 | |
| 40 One must exclude all variables from the indexargs_form call which are to | |
| 41 be replaced with values that are derived from other form input elements, | |
| 42 otherwise they will clash with the "hidden" input elements generated by | |
| 43 indexargs_form itself. | |
| 44 | |
| 45 For example: | |
| 46 <tal:block replace="structure python:request.indexargs_form( | |
| 47 sort=0,group=0,filter=0,columns=0, | |
| 48 exclude=['type','status','assignedto'])"/> | |
| 49 | |
| 50 where the variables type, status and assignedto are supplied via other | |
| 51 form input elements. Without the new exclude argument to indexargs_form, | |
| 52 all hidden input elements otherwise generated by this call would need to | |
| 53 be manually added to the template code. Further, given that the template | |
| 54 may not know what other variables may be defined, it may not even be | |
| 55 possible to code this without some python helpers. | |
| 56 [rouilj I think this is an example usecase. Possible assignedto | |
| 57 users need to have a specific role. Create TAL that | |
| 58 filters the users to the select few. Defines a select list for | |
| 59 assignedto. Use exclude=['assignedto'] to prevent the | |
| 60 indexargs_form from generating a confliciting assignedto field | |
| 61 which lists all users regardless of the role.] | |
| 62 - allow user to recover account password using an entry in the | |
| 63 Alternate E-mail addresses list. See:: | |
| 64 http://psf.upfronthosting.co.za/roundup/meta/issue564 | |
| 65 for description. Merge request at:: | |
| 66 https://sourceforge.net/p/roundup/code/merge-requests/1/ | |
| 67 Patch supplied by kinggreedy. Applied/tested by John Rouillard | |
| 68 - issue2550636, issue2550909: Added support for Whoosh indexer. | |
| 69 Also adds new config.ini setting called indexer to select | |
| 70 indexer. See ``doc/upgrading.txt`` for details. Initial patch | |
| 71 done by David Wolever. Patch modified, docs added and committed | |
| 72 by John Rouillard. | |
| 73 - issue2550803: Replying to NOSY mail goes to the tracker through | |
| 74 reply-to, not original message author. | |
| 75 Created new [tracker] replyto_address config.ini option to allow: | |
| 76 1) setting reply-to header to the tracker | |
| 77 2) setting reply-to header to the address of the author of the change | |
| 78 3) setting it to a fixed address (like noreply@some.place) | |
| 79 Done by John Rouillard from proposal by Peter Funk (pefu) | |
| 80 in discussion with Tom Ekberg (tekberg). See doc/upgrading.txt. | |
| 81 - issue1714899: Feature Request: Optional Change Note. Added a new | |
| 82 quiet=True/False option for all property types. When quiet=True | |
| 83 changes to the property will not be displayed in the:: | |
| 84 | |
| 85 confirmation banner (shown in green) when a change is made | |
| 86 property change section of change note (nosy emails) | |
| 87 web history display for an item. | |
| 88 | |
| 89 Note that this may confuse users if used on a property that is | |
| 90 meant to be changed by a user. It is most useful on administrative | |
| 91 properties that are changed by an auditor as part of a user | |
| 92 generated change. Original patch by Daniel Diniz (ajaksu2) | |
| 93 discussed also at: | |
| 94 | |
| 95 http://psf.upfronthosting.co.za/roundup/meta/issue249 | |
| 96 | |
| 97 Support for setting quiet when calling the class specifiers:: | |
| 98 | |
| 99 E.G. prop=String(quiet=True) rather than:: | |
| 100 prop=String() | |
| 101 prop.quiet=True | |
| 102 | |
| 103 support for anydb backend, added tests, doc updates, support for | |
| 104 ignoring quiet setting using showall=True in call to history() | |
| 105 function in templates by (John Rouillard). (Note implementation | |
| 106 changed while implementing fix for issue2550864. Filtering of | |
| 107 quiet properties pushed down to the hyperdb.py::Class::history | |
| 108 function. This fixes a small bug in the implementation that caused | |
| 109 a limiting the templating history call to display fewer than the | |
| 110 the requested number of items if some were quiet.) | |
| 111 - issue2550767: Add newitemcopy.py detector to notify users of new | |
| 112 items. Added to detectors directory and a README.txt generated to | |
| 113 describe the purpose of the directory. It also says the detectors | |
| 114 are provided on an as-is basis and may not work. Detector by W. | |
| 115 Trevor King (wking), rest by John Rouillard. | |
| 116 - issue934009: Have New Issues Submitted By Email *Not* Change Body! | |
| 117 The mailgw config options: keep_quoted_text and leave_body_unchanged | |
| 118 can now have a new values: new. If set to new, keep_quoted_text acts | |
| 119 like yes if the message is starting a new issue. Otherise it strips | |
| 120 quoted text. This allows somebody to start a new issue by forwarding | |
| 121 a threaded email (with multiple quoted parts) into roundup and | |
| 122 keeping all the quoted parts. If leave_body_unchanged is set to | |
| 123 new, even the signature on the email that starts a new issue will be | |
| 124 preserved. | |
| 125 - New cgi action restore (RestoreAction) which reverses the effects of | |
| 126 the retire action. Created while implementing fix for | |
| 127 issue2550831. Requires restore permission in the schema. See | |
| 128 upgrading.txt for migrating to 1.6.0 for details. (John Rouillard) | |
| 129 - issue2550751: Email Header Issue. Noel Garces requested the ability | |
| 130 to suppress email headers like "x-roundup-issue-files". With Ralf's | |
| 131 addition of the Link/Multilink property attribute | |
| 132 'msg_header_property' we can do this easily. Setting the | |
| 133 'msg_header_property' to the empty string '' (not to None) will | |
| 134 suppress the header for that property. (John Rouillard) | |
| 135 - issue2550891: Allow subdir in template value. Anthony (antmail) | |
| 136 requested the ability to put templates into subdirectories. So | |
| 137 the issue class can accept @template=issues/item to get the | |
| 138 html/issues/issue.item.html template. See ``doc/upgrading.txt``. | |
| 139 - issue1842687: Keywords: After creating, stay in "Create New" mode. | |
| 140 Change to classic tracker template to provide a check box (checked | |
| 141 by default) that keeps the user on the "Add new keyword" page after | |
| 142 submitting a new keyword. Usually after submission, you will see the | |
| 143 the page for the new keyword to allow you to change the name of the | |
| 144 keyword. (John Rouillard) | |
| 145 - issue2550757 - internal restructuring to allow admin.py to be tested | |
| 146 more easily. W. Trevor King (wking)/ John Rouillard. | |
| 147 - When storing user-defined queries we now store the template with the | |
| 148 query if the template name is different from 'index'. This allows | |
| 149 stored queries for templates different from the default 'index' | |
| 150 template. (Ralf Schlatterbeck) | |
| 151 - Number properties now have an optional attribute use_double to request | |
| 152 double precision float as the storage type for this property. (Ralf | |
| 153 Schlatterbeck) | |
| 154 - issue2550796: Calendar and Classhelp selection tools don't cause | |
| 155 onchange event to be triggered. | |
| 156 Using the helper popups for modifying lists of users, lists of | |
| 157 issues, dates etc.. now trigger the change event on the form's | |
| 158 field. This allows onchange javascript to trigger to highlight | |
| 159 changes, recalculate other form values etc. See ``upgrading.txt`` | |
| 160 for details on applying these changes to your tracker. (John Rouillard) | |
| 161 - menu template function has a new parameter "showdef". When set to a | |
| 162 string, the string is appended to the displayed option value. This | |
| 163 allows the user to reset the value for the menu (select) to the | |
| 164 original value. (John Rouillard) | |
| 165 - @template html url parameter can be set to "oktmpl|errortmpl". When | |
| 166 a form is submitted, if the form passes validation the oktmpl is | |
| 167 used for the resulting page. If the form fails submission the | |
| 168 errortmpl page is used to display the form. The errortmpl will | |
| 169 usually be the same template used to edit the form. See the section | |
| 170 on "Implementing Modal Editing Using @template" in | |
| 171 ``customizing.txt``. (John Rouillard) | |
| 172 - New form of check function is permitted in permission definitions. | |
| 173 If the check function is defined as:: | |
| 174 | |
| 175 check(db, userid, itemid, **ctx) | |
| 176 | |
| 177 the ctx variable will have:: | |
| 178 | |
| 179 ctx['property'] the name of the property being checked or None | |
| 180 ctx['classname'] the class that is being checked or None | |
| 181 ctx['permission'] the name of the permission (e.g. View, Edit) | |
| 182 | |
| 183 At some future date the older 3 argument style check command will | |
| 184 be deprecated. See ``upgrading.txt`` for details. | |
| 185 - New property for permissions added to simplify the model. See | |
| 186 ``customizing.txt`` and search for props_only and | |
| 187 set_props_only_default in the section 'Adding a new Permission'. | |
| 188 (John Rouillard) | |
| 189 - issue2550690 - Inadequate CSRF protection. Improvements in | |
| 190 Cross Site Request Forgery protection to check HTTP headers | |
| 191 and nonces. If the header/nonce is present, they are | |
| 192 validated. But if headers or nonces are missing access is | |
| 193 granted. The enforcement policy can be set in config.ini. | |
| 194 Requiring enforcement will need some changes to | |
| 195 templates. Support for protecting xmlrpc endpoint not well | |
| 196 tested. See ``upgrading.txt``. (John Rouillard) | |
| 197 - Added support for using the SameSite cookie option on the | |
| 198 session cookie. Default is lax, but there is a settable | |
| 199 option in config.ini file to change to strict or | |
| 200 suppress it entirely. See ``upgrading.txt``. (John Rouillard) | |
| 201 - Added a new roundup-admin command: updateconfig. Similar to | |
| 202 genconfig but it uses values from an existing config.ini | |
| 203 rather than default values. Use to update an existing | |
| 204 config.ini with new options and help text. (John Rouillard) | |
| 205 - issue2550864: Potential information leakage via journal/history | |
| 206 Hyperdb history function now only returns properties that the user | |
| 207 can View or Edit and links to objects the user can see. Can be | |
| 208 overridden by setting a parameter when calling the method. | |
| 209 Also restructured code that implemented issue1714899 moving it | |
| 210 from the templating class to the hyperdb. (John Rouillard) | |
| 211 - Improves diagnostics for mail processing: When using logging level = DEBUG, | |
| 212 bounces and bounce problems are logged. (Bernhard Reiter) | |
| 213 - In roundup-server, pass X-Forwarded-For and X-Forwarded-Proto | |
| 214 headers as the environment variables: HTTP_X-FORWARDED-FOR and | |
| 215 HTTP_X_FORWARDED_PROTO. If the user is running roundup server behind | |
| 216 a proxy, these headers allow the user to write extensions that can | |
| 217 figure out the original client ip and protocol. None of the core | |
| 218 roundup code uses these headers/env vars. These headers can be | |
| 219 spoofed by bad proxies etc. so you have been warned. | |
| 220 - issue2550799: provide basic support for handling html only emails | |
| 221 Emails missing text/plain parts but with text/html parts can be | |
| 222 converted into text. If this is done the email will no longer be | |
| 223 bounced back to the sender with an error. Enable by configuring the | |
| 224 convert_htmltotext option in your upgraded config.ini. (Initial | |
| 225 patch by Igor Ippolitov merged with changes by John Rouillard.) | |
| 226 - Add a 'retired' parameter to Class.filter to allow searching for | |
| 227 retired, non-retired or all (retired and non-retired) items similar | |
| 228 to the argument of the same name to Class.getnodeids. This is 'False' | |
| 229 by default (finding only non-retired items for backwards | |
| 230 compatibility) and can be set to None (for finding retired and | |
| 231 non-retired items) or True (for finding only retired items). | |
| 232 - Requires Python 2.7 now, indicated in version_check.py | |
| 233 and doc/installation.txt. (Bernhard Reiter) | |
| 234 - New -L flag to roundup-server to send http/https request logs | |
| 235 through the python logger module (using roundup.http). This allows | |
| 236 automatic log rotation. Without it, log file rotation requires restarting | |
| 237 the server. (John Rouillard) | |
| 238 - Part of issue2550960. Applied patch 0038 to upgrade documentation | |
| 239 code examples to support both python 2 and 3. (Joseph Myers) | |
| 240 | |
| 241 Fixed: | |
| 242 | |
| 243 - issue1615201: Optionally restore the original (version 0.6) mailgw | |
| 244 behaviour of ignoring a Resent-From:-header and using the real | |
| 245 From-header instead: new configuration option EMAIL_KEEP_REAL_FROM | |
| 246 (Peter Funk aka Pefu). | |
| 247 - issue2550717: Changed a couple of residual email references into | |
| 248 E-Mail in German translation (John Rouillard) | |
| 249 - issue2550669: Adding documentation for csv_field_size to the | |
| 250 customizing tracker section of doc/customizing.txt (John Rouillard) | |
| 251 - issue2550601: gsoc-2009 "bug" class doesn't have "patches" property | |
| 252 Added multilink to patches to the bug schema in the devel template. | |
| 253 (applied by John Rouillard) | |
| 254 - issue2550748: Crash when creating new issues with non-existing | |
| 255 multilink values (in classic template). Applied patch so it | |
| 256 now errors the same way as an update does. (applied by John Rouillard) | |
| 257 - issue2550757: one bug raised by issue fixed. Patch created by | |
| 258 W. Trevor King (wking) for documentation of mailgw applied by | |
| 259 John Rouillard. | |
| 260 - Fix processing of additional arguments to cgi method 'menu': This | |
| 261 would not work if more than one additional argument is used. | |
| 31 (Ralf Schlatterbeck) | 262 (Ralf Schlatterbeck) |
| 32 - /xmlrpc endpoint now shows link to XML-RPC documentation if accessed | 263 - Update documentation of some existing property attributes (like |
| 33 through browser, without text/xml Content-Type (anatoly techtonik) | 264 'do_journal' for Link/Multilink properties), this also adds missing |
| 34 - docs: New dedicated chapter for extensions in ``doc/customizing.txt`` | 265 documentation for issue1444214. (Ralf Schlatterbeck) |
| 35 (anatoly techtonik) | 266 - issue2550763 Strip whitespace from Multilink values after + or -. |
| 36 - Increase default height of classhelp windows from 400 to 600. | 267 (W. Trevor King) Test heavily modified by John Rouillard. (applied |
| 37 (Thomas Arendsen Hein) | 268 by John Rouillard) |
| 38 - Date properties now can specify (on input) an explicit timezone suffix | 269 - issue2550907 Fix errors when creating documentation. Work done by |
| 39 (similar to RFC 2822), e.g. +0200 for CEST or -0500 for EST. This also | 270 Peter Funk (pefu). (Applied by John Rouillard with small change |
| 40 works in the XMLRPC interface. For examples see roundup.date.Date. | 271 omitting obsolete security.txt.) |
| 272 - issue2550826 Capture some exceptions from auditors/reactors and | |
| 273 raise a DetectorError instead. This allows failures like IOErrors | |
| 274 from the detectors (e.g. unable to access files) to be handled. | |
| 275 Previously an IOError just resulted in no output (premature end of | |
| 276 headers under apache). Problem diagnosed and initial patch created by | |
| 277 Tom Ekberg (tekberg). Further testing and patch change done by | |
| 278 John Rouillard. | |
| 279 - issue2550851 in installation doc removed directions for | |
| 280 installing additional codecs for Asian languages. They | |
| 281 they appear to be part of the standard python since at least 2.6. | |
| 282 Also the quoted url is obsolete. See ticket if you think you need | |
| 283 the codecs. | |
| 284 - issue2550823 improve mailgw logging for node creation errors. | |
| 285 Patch by r.david.murray (applied by John Rouillard). | |
| 286 - issue2550549 Postgres error on message templating | |
| 287 Exception gets thrown and not captured if nodeid is too large | |
| 288 on postgres. Added a check in rdbms_common layer that max nodeid | |
| 289 is < 2^31 -1. Large nodeid now return no such id error upstream. | |
| 290 Patch idea from: martin.v.loewis. (John Rouillard) | |
| 291 - issue2550723 Fix propagation of @pagesize | |
| 292 When @pagesize=0 is specified (indicating show all), the value of | |
| 293 pagesize is not propigated to the prev link. This patch fixes that. | |
| 294 Patch provided by John Kristensen. (Applied, light testing by John | |
| 295 Rouillard.) | |
| 296 - issue2550850 anypy/email_.py uses BSPACE which is not defined in python 2.7 | |
| 297 Supplied a definition for BSPACE since it seems to not be defined | |
| 298 anywhere. Reported by Dennis Boone. (John Rouillard) | |
| 299 - Validate properties specified for sorting and grouping in index | |
| 300 views. Original patch from martin.v.loewis via: | |
| 301 https://hg.python.org/tracker/roundup/rev/439bd3060df2 | |
| 302 Applied by John Rouillard with some modification to properly | |
| 303 identify if the bad property is a sort or grouping property. Tests | |
| 304 added. | |
| 305 - Validate Integer and Numeric type filter parameters rather than | |
| 306 passing output down to db level. Initial patch at: | |
| 307 http://hg.python.org/tracker/roundup/rev/98508a47c126 by | |
| 308 Martin.V.Loewis. Numeric test patch applied, Integer code and tests | |
| 309 developed by John Rouillard. | |
| 310 - issue1926124: fix crash in roundup_admin migrate option. | |
| 311 Patch submitted by Henry (henryl), modified value to False | |
| 312 since this produces the correct "No migration action required" | |
| 313 output from the migrate command. | |
| 314 - issue2161722: oudated docs (sic) | |
| 315 Fix old entry in FAQ, update roundup-server config docs and | |
| 316 example file from current roundup-server output. Update | |
| 317 some typos in .py files. John Rouillard. | |
| 318 - issue2550572: setting nosy=+foo on multiple issues gives them all | |
| 319 the same exact nosy list. Fixed a missing reinitialization that has | |
| 320 to occur every time though the loop in do_set. Manual tests work. | |
| 321 (John Rouillard) | |
| 322 - issue2550653: xapian search, stemming is not working | |
| 323 This is a partial fix for the issue. It does make stemming work | |
| 324 (so searching for silent will also return docs with silently in | |
| 325 them). However to do this we need to lowercase the text so the | |
| 326 porter stemmer will work. This means capitalization is not | |
| 327 preserved. Fix done by David Wolever (wolever). Committed and doc | |
| 328 updates John Rouillard. | |
| 329 - issue2550855: "show unassigned" link shows all open issues if not | |
| 330 logged in. This adds permission for the anonymous user to search | |
| 331 the users class. Without this the unassigned search can't see if | |
| 332 there is a user assigned to an issue, so it acts like all open | |
| 333 issues. Patch supplied by Stuart McGraw (smcgraw). For caveats | |
| 334 see ``upgrading.txt`` and the comments in the default templates. | |
| 335 (Docs created and applcation by John Rouillard) | |
| 336 - issue2550854: including new field in All text* search. | |
| 337 Fixed documentation in customizing.txt. The default for indexme on | |
| 338 String fileds is 'no' not 'yes'. So to get a new string field into | |
| 339 the full text/all text index you need to use String(indexme='yes'). | |
| 340 Reported by Michael Belleville. (John Rouillard) | |
| 341 - issue2550853 - better error handling and cleanup on some postgres | |
| 342 tests by Stuart McGraw. | |
| 343 - issue2086536 - back_postgresql: fixing pg_command and prefering | |
| 344 psycopg2. Patch done by Philipp Gortan (mephinet). His patch | |
| 345 also improves handling of retryable errors. Applied and | |
| 346 edited by John Rouillard. Edits included removing support for | |
| 347 psycopg1. See: | |
| 348 | |
| 349 https://sourceforge.net/p/roundup/mailman/message/32855027/ | |
| 350 | |
| 351 for rational for dropping it. | |
| 352 - issue2550831: Make the classic template query.edit page work. | |
| 353 Many fixes and improvements. See ``upgrading.txt`` for details. | |
| 354 Diagnosis and fix with patch by R David Murray. Support for | |
| 355 restoring retired but active queries, html layout changes and doc | |
| 356 by John Rouillard. | |
| 357 - issue2550785: Using login from search (or logout) fails. When | |
| 358 logging in from a search page or after a logout it fails with an | |
| 359 error. These failures have been fixed. The fix also keeps the user | |
| 360 on the same page they started from before the login. There are two | |
| 361 parts to this: 1) changes to the templates to properly define the | |
| 362 __came_from form element. See ``upgrading.txt``. 2) code changes | |
| 363 to the LoginAction code in roundup/cgi/actions.py. (John Rouillard) | |
| 364 - issue2550648 - partial fix for problem in this issue. Ezio Melotti | |
| 365 reported that the expression editor allowed the user to generate an | |
| 366 expression using retired values. To align the expression editor with | |
| 367 the simple dropdown search item, retired values are now removed from | |
| 368 the expression editor. (We have an open question as to whether this | |
| 369 is desirable.) | |
| 370 - issue2550743 - Reindex with MySQL Server failed. It looks like | |
| 371 indexing large documents may require increasing mysql's | |
| 372 max_allowed_packet setting. Documented the issue in doc/mysql.txt. | |
| 373 Possible solutions include: increasing value of MySQL parameter, | |
| 374 changing the full text search engine to whoosh or xapian. Problem | |
| 375 report by telsch. Analysis/doc by John Rouillard. | |
| 376 - issue2550882. Reported by Karl-Philipp Richter. Fixed | |
| 377 installation.txt documentation to include better directions on | |
| 378 starting roundup-server on different ports/ip addresses. Also | |
| 379 updated man page to include default use of localhost for -n and use | |
| 380 of -n 0.0.0.0 to bind to all addresses on the host. (John Rouillard) | |
| 381 - issue2550827, issue2550718. Doc additions so people know that a | |
| 382 python 32 bit installation may be required for windows. Additional | |
| 383 documentation on the requirement of pywin32 for running roundup as a | |
| 384 windows service. Also the windows installer must be run as | |
| 385 administrator and strong encouragement for installing the pytz | |
| 386 module added to ``doc/installation.txt``. | |
| 387 - issue2550776: imapServer.py problem. Fixed a missing initialization of the | |
| 388 logging level if no logging level option is supplied. (John Rouillard) | |
| 389 - issue2550839: Xapian, DatabaseLockError: Unable to get write lock on | |
| 390 db/text-index: already locked. Put in a retry loop that will attempt | |
| 391 to get the lock. Total delay approx 4.5 seconds. (John Rouillard) | |
| 392 - issue2550727: db.newid is broken with sqlite. Added proper transaction | |
| 393 lock around the sql code to get a new id. The the locking | |
| 394 that pysqlite attempts had to be defeated because it is broken. | |
| 395 Had to explicitly manage transactions with BEGIN IMMEDIATE and call | |
| 396 sql_commit. Note that this reduces performance in return for accuracy. | |
| 397 Problem reported by Matt Mackall (mpm) (John Rouillard). | |
| 398 - issue2550701: Path traversal from template names. This affects the | |
| 399 tal based template engines (zopetal, chameleon). If a directory | |
| 400 with a specific name is created in the html subdirectory, the | |
| 401 template name in the url can be used to get access to files outside | |
| 402 of the tracker html directory. This has been fixed by normalizing | |
| 403 the path and comparing to the normalized path for the html | |
| 404 directory. See ``doc/upgrading.txt``. (John Rouillard) | |
| 405 - Fix subject parsing in mail gateway. The previous parsing routine | |
| 406 would not ensure that arguments are at the end of the subject and when | |
| 407 subject_suffix_parsing was configured to be 'loose' it would truncate | |
| 408 the subject when encountering a double prefix, e.g. | |
| 409 Subject: [frobulated] [frobulatedagain] this part would be lost | |
| 41 (Ralf Schlatterbeck) | 410 (Ralf Schlatterbeck) |
| 42 - Add RejectRaw exception to allow unescaped HTML error messages to be | 411 - issue2550795: @dispname query args in page.html search links |
| 43 displayed to the user (thanks Ezio Melotti for the initial patch) | 412 not valid html. Some queries with names that include spaces are not |
| 44 (John Kristensen) | 413 properly url encoded/quoted. I.E. a space should be replaced with |
| 45 | 414 %20. Fixes to allow a url_query method to be applied to |
| 46 Fixed: | 415 HTMLStringProperty to properly quote string values passed as part of |
| 47 | 416 a url. |
| 48 - issue2550869 Duplicate mail headers (Reply-To, Message-ID, In-Reply-To) | 417 - issue2550755: exceptions.NotFound(msg) msg is not reported to user |
| 49 when sending out email. Reported with first fix by Mathias Behrle. | 418 in cgi. When an invalid column is specified return error code 400 |
| 419 rather than 404. Make error code 400 also return an error message to | |
| 420 the user. Reported by: Bernhard Reiter, analysis, fix by John Rouillard. | |
| 421 - issue1408570: Finally fix that form values are lost on edit | |
| 422 exceptions. This occured for example if editing an issue with the | |
| 423 classic template and setting 'superseder' to a non-existing issue | |
| 424 number. All changes to the form where the original field was non-empty | |
| 425 were lost. (Ralf Schlatterbeck) | |
| 426 - Fix submit_once Javascript function: This needs to return a boolean | |
| 427 value (not and integer like 0 or 1). And the work-around for an | |
| 428 ancient version of Internet Explorer would make it break for a recent | |
| 429 Firefox. The old version would show the popup but after clicking away | |
| 430 the alert it would load the page. The new version (tested with | |
| 431 Chromium and Firefox) doesn't load the page. (Ralf Schlatterbeck) | |
| 432 - Fix Traceback in backends/portalocker.py on windows due to missing | |
| 433 windll import, thanks to Heiko Stegmann for suggesting a first fix. | |
| 434 (Ralf Schlatterbeck) | |
| 435 - issue2550933 - Fix Traceback in cgi/templating.py when a string is | |
| 436 passed to PasswordHTMLProperty::plain. (John Rouillard) | |
| 437 - issue2550934 - templating.py-indexargs_form() returns id's as | |
| 438 space separated list not comma separated. This fixes the format of | |
| 439 the id url parameter when generated by indexargs_form. (John | |
| 440 Rouillard) | |
| 441 - issue2550932 - html_calendar produces templating errors for bad date | |
| 442 strings. Fixed to ignore bad date and highlight todays date in the | |
| 443 calendar popup. | |
| 444 - Query handling requires that query names for a user are unique. | |
| 445 Different users are allowed to use the same query name. Under some | |
| 446 circumstances a user could generate a second query with the same | |
| 447 name. The SearchAction function has been corrected to report this | |
| 448 error. Also the index.search.html template in the classic tracker | |
| 449 and corresponding templates in the other example trackers | |
| 450 has been modified to include:: | |
| 451 | |
| 452 <input type="hidden" name="@template" value="index|search"/> | |
| 453 | |
| 454 so an error from SearchAction will display an error message and keep | |
| 455 the user on the search page so they can correct the error. See | |
| 456 ``doc/upgrading.txt``. (John Rouillard) | |
| 457 - When a new named search is created, the index page that is displayed | |
| 458 doesn't show the name. This has been fixed by setting the @dispname | |
| 459 to the query's name. (John Rouillard) | |
| 460 - Passing args into indexargs_url(..,{'@queryname': request/dispname | |
| 461 or None, 'Title': 'some' }) where the value of the arg is None | |
| 462 will not add the arg to the url. In the example above @queryname | |
| 463 will only be in the url if dispname is set in the request. | |
| 464 (John Rouillard) | |
| 465 - The HTMLClass::properties() method produced a list of properties | |
| 466 that the user could not search. As a result these properties can not | |
| 467 be used for sorting or grouping index pages. This patch eliminates | |
| 468 the confusion that results from this mismatch by verifying that all | |
| 469 properties returned are searchable. (John Rouillard) | |
| 470 - Mutilinks can be displayed with their labelprop using the plain() | |
| 471 method, but they can not be looped over using tal:repeat if the user | |
| 472 doesn't have view access to the class the multilink represents. The | |
| 473 permissions check was changed to require that the user have View | |
| 474 access to the labelprop for the class rather than View access to the | |
| 475 class. (John Rouillard) | |
| 476 - issue2550937: fix crash by verifying that sendto is not null before | |
| 477 calling mailer.smtp_send. Discovered and patched by Trent Gamblin. | |
| 478 Applied by John Rouillard. | |
| 479 - removed old code from roundup-admin that implemented the obsolete | |
| 480 config (do_config) command. (John Rouillard) | |
| 481 - Modified configuration option static_files to be a space separated | |
| 482 list of directories to search for static files in the web interface. | |
| 483 If one of the elements is -, the search stops and the TEMPLATES | |
| 484 directory is not searched. See: | |
| 485 | |
| 486 https://sourceforge.net/p/roundup/mailman/message/35773357/ | |
| 487 | |
| 488 subject is "showing template sources to all". | |
| 489 - issue2550945: OpenPGP: Extends newissuecopy.py to encrypt if configured. | |
| 50 (Bernhard Reiter) | 490 (Bernhard Reiter) |
| 51 - issue2550830 An empty LinkHTMLProperty cannot be compared successfully. | 491 - CSRF protection broke the retire function for query edit. Fix |
| 52 Improves the query editing page. Reported and fixed by R David Murray | 492 javascript and make sure csrf tokens are provided in the right |
| 53 (Bernhard Reiter). | 493 places. (John Rouillard) |
| 54 - Fix Release-date of 1.5.0 in this file (thanks to Bernhard for | 494 - query.item.html was missing checks to verify that a query should |
| 55 discovery) (Ralf Schlatterbeck) | 495 be visible to the user. This is fixed and users can only view |
| 56 - Pythons cgi form code can return a TypeError, we now guard for this | 496 queries that they own or that are not private. (John Rouillard) |
| 57 condition. (Ralf Schlatterbeck) | 497 - issue2550953: Patch: fix for context.is_view_ok check in jinja2 template |
| 58 - Small bug-fix in SQL backends: A query (e.g. in a html menu) with a | 498 Form controls are displayed when anonymous views indexes but is |
| 59 where-clause that always evaluates to false now will not raise a | 499 denied access. (patch by Anton Schur applied by John Rouillard) |
| 60 traceback. (Ralf Schlatterbeck) | 500 - issue2550957: Duplicate emails (with patch). |
| 61 - Remove Python 2.3 compatibility code for i18n (anatoly techtonik) | 501 Bcc and cc users passed to nosymessage are not properly recorded. |
| 62 - If documentation 'sphinx-build' tool is not found in system PATH, | 502 This results in duplicate emails. (patch by Trent Gamblin (trentgg) |
| 63 'setup.py build_doc' command now tries to detect it from PYTHONPATH | 503 applied by John Rouillard). |
| 64 (anatoly techtonik) | 504 - issue2550954: History display breaks on removed properties |
| 65 - Read version and release for generated documentation from | 505 Now changes to removed properties, and link/unlink events from |
| 66 roundup/__init__.py. (Thomas Arendsen Hein) | 506 non-existing properties or classes no longer trigger a traceback. |
| 67 - Do not throw an internal error if a .mo file can not be read | 507 Concerning the visibility: We have a new config-item |
| 68 (Thomas Arendsen Hein) | 508 obsolete_history_roles in the main section that defines which roles |
| 69 - issue2550673 Make the "Make a copy" link work by fixing copy_url to properly | 509 may see removed properties. By default only role Admin is allowed to |
| 70 handle multilink properties. (John Rouillard) | 510 see these. |
| 71 - issue2550583, issue2550635 Do not limit results with Xapian indexer | 511 - Fix issue2550955: Roundup commits although a Reject exception is raised |
| 72 (Thomas Arendsen Hein) | 512 Fix the problem that changes are committed to the database (due to |
| 73 - Allow using plain() on unsaved dates in HTML forms | 513 commits to otk handling) even when a Reject exception occurs. The fix |
| 74 (Thomas Arendsen Hein) | 514 implements separate database connections for otk/session handling and |
| 75 - setup.py now installs static files of the HTML documentation (stylesheets, | 515 normal database operation. |
| 76 images, etc.) (Thomas Arendsen Hein) | 516 - Allow empty content property for file and message via xmlrpc |
| 77 - executable .py scripts need "#!/usr/bin/env python", add this to demo.py, | 517 interface. This used to raise a traceback in the (sql) backend. |
| 78 remove exec bits from website/wiki/wiki/data/plugin/theme/roundup.py | 518 - Work around a limitation in python2.7 implementation of poplib (for |
| 79 (Thomas Arendsen Hein) | 519 the pop3 protocol for fetching emails): It seems poplib applies a |
| 80 - issue2550822: Fix showing more than one additional property in class menu. | 520 line-length limit not just to the lines involving the pop3 protocol |
| 81 Report and fix by James Mack (Thomas Arendsen Hein) | 521 but to any email content, too. This sometimes leads to tracebacks |
| 82 - Fix String search with special SQL wildcard characters in LIKE/ILIKE | 522 whenever an email exceeding this limit is encountered. We "fix" this |
| 83 clause and add testcase (Ralf Schlatterbeck) | 523 by monkey-patching poplib with a larger line-limit. Thanks to Heiko |
| 84 - Fix subtle bug when sorting by a Link that contains a Multilink from | 524 Stegmann for discovering this. |
| 85 which we also search for an attribute. In that case the LEFT OUTER | |
| 86 JOIN clause was missing in generated SQL. (Ralf Schlatterbeck) | |
| 87 - Fix another XSS issue2550817. Note that the code that triggers that | |
| 88 particular bug is no longer in roundup core. But the change to the | |
| 89 templates we suggest is a *lot* safer as it by default escapes the | |
| 90 error and ok messages now. Thanks to Thibault Fevry for the original | |
| 91 bug-report. (Ralf Schlatterbeck) | |
| 92 - issue2117897: Fixed two more places in date.py where seconds can be | |
| 93 rounded to 60.0 and causing exceptions. Change them to 59.999 as was | |
| 94 done in the fix for issue2550802. (Thomas Arendsen Hein) | |
| 95 - Fix batch.propchanged for transitive id properties (would result in a | |
| 96 backtrace when trying to group by property.id) (Ralf Schlatterbeck) | |
| 97 - Fix issue2550835, the test checks for date-range queries with an | |
| 98 interval that depends on the local time. Put the queried date a little | |
| 99 later to avoid a race condition where the queried interval doesn't | |
| 100 match the date because the clock has advanced. (Ralf Schlatterbeck) | |
| 101 - Apply german translation fixes from Debian team in issue2550761, | |
| 102 thanks to Kai Storbeck for taking the time to report these. | |
| 103 (Ralf Schlatterbeck) | |
| 104 - Fix issue2550843 Pass text of Unauthorised and Login exceptions instead | |
| 105 of the exception instance to avoid traceback with string operations. | |
| 106 (Thomas Arendsen Hein) | |
| 107 - Fix issue2550841 roundup-demo templates not found in virtualenv (John | |
| 108 Kristensen) | |
| 109 - Security: Default user permissions should not include all user | |
| 110 attributes. We now limit this to the username, realname and some | |
| 111 further attributes depending on the schema. Note that we no longer | |
| 112 include the email addresses, depending on your installation you may | |
| 113 want to further restrict this or add some attributes like ``address`` | |
| 114 and ``alternate_addresses``. (Ralf Schlatterbeck) | |
| 115 - Correctly recreate the database directory when re-initialising a tracker | |
| 116 instance. (John Kristensen) | |
| 117 - In case of an error, date fields would lose the calendar help, fixed. | |
| 118 (Ralf Schlatterbeck) | |
| 119 - demo.py usage message improved: explains "nuke" now. (Bernhard Reiter) | |
| 120 - Fix issue2550735 Missing doc for xmlrpc schema. Thanks to Cedric Krier | |
| 121 for the patch. (anatoly techtonik) | |
| 122 - Fix two line-break accidents in devel and responsive milestone.item.html | |
| 123 (Thomas Arendsen Hein) | |
| 124 - Fix broken images in legacy spec.html and original_overview.html, and | |
| 125 restore web presence for "Roundup's Design Document" (anatoly techtonik) | |
| 126 - Template jinja2: Updated URL to point to http://www.roundup-tracker.org/, | |
| 127 fixed a typo. (Bernhard Reiter) | |
| 128 - Security: Add mime-type whitelist for attachmens that can be safely | |
| 129 rendered from Roundup without trigerring security bugs in browser | |
| 130 plugins, XSS issues and spam. The option ``allow_html_file`` didn't | |
| 131 provide protection for invalid content-type, in which case browser | |
| 132 tried to guess the best one. Thanks to Kay Hayen for reporting and | |
| 133 helping debug this. issue2550848 (Ralf Schlatterbeck, anatoly techtonik) | |
| 134 - Documentation: configuration messages_to_author value "nosy" now documented | |
| 135 in chapter "customizing". (Bernhard Reiter) | |
| 136 - issue2550877 Failures in test_mailgw.py because of duplicated headers | |
| 137 and more precise comparision. Writing headers with the email module will use | |
| 138 continuation_ws = ' ' now for python 2.5 and 2.6. (Bernhard Reiter) | |
| 139 - issue2550870 migrate use of 'rfc822' module to the 'email' module | |
| 140 (Bernhard Reiter/John Kristensen) | |
| 141 - Doctests for roundup.date.Date are now really executable and don't | |
| 142 fail. Bug-Fixes in range properties, open intervals with 'to' didn't | |
| 143 always work. (Ralf Schlatterbeck) | |
| 144 - issue2550881 demo.py: Add pointer how to access demo from remote host. | |
| 145 Suggested by Karl-Philipp Richter. (Bernhard Reiter) | |
| 146 - issue2550884 roundup-mailgw --help text improved to explain the allowed | |
| 147 parameters better. Suggested by by Karl-Philipp Richter. (Bernhard Reiter) | |
| 148 - Fix form-parsing: If multiple new items are added to a multilink | |
| 149 property, the old version would create the new items but only link | |
| 150 one. (Ralf Schlatterbeck) | |
| 151 - issue2550892 (translation error of priority in locale de) Thanks | |
| 152 Martin Thomas Swaton for reporting. (Bernhard Reiter) | |
| 153 - Help-Window now gets focus, this prevents the case that help doesn't | |
| 154 work because an old help-window is below the main window. | |
| 155 (Ralf Schlatterbeck) | |
| 156 - issue2550811 20% fix: jinja2 template engine now has an example | |
| 157 how to use non-ascii unicode contents with a custom filter ('| u'). | |
| 158 See updates on http://www.roundup-tracker.org/cgi-bin/moin.cgi/Jinja2 | |
| 159 (Bernhard Reiter) | |
| 160 | |
| 161 | 525 |
| 162 If you're upgrading from an older version of Roundup you *must* follow | 526 If you're upgrading from an older version of Roundup you *must* follow |
| 163 the "Software Upgrade" guidelines given in the maintenance documentation. | 527 the "Software Upgrade" guidelines given in the maintenance documentation. |
| 164 | 528 |
| 165 Roundup requires python 2.7 or later (but not 3+) for correct operation. | 529 Roundup requires python 2.7 or later (but not 3+) for correct operation. |
| 194 (c) discuss issues with other participants. | 558 (c) discuss issues with other participants. |
| 195 | 559 |
| 196 The system will facilitate communication among the participants by managing | 560 The system will facilitate communication among the participants by managing |
| 197 discussions and notifying interested parties when issues are edited. One of | 561 discussions and notifying interested parties when issues are edited. One of |
| 198 the major design goals for Roundup that it be simple to get going. Roundup | 562 the major design goals for Roundup that it be simple to get going. Roundup |
| 199 is therefore usable "out of the box" with any python 2.5+ (but not 3+) | 563 is therefore usable "out of the box" with any python 2.7+ (but not 3+) |
| 200 installation. It doesn't even need to be "installed" to be operational, | 564 installation. It doesn't even need to be "installed" to be operational, |
| 201 though an install script is provided. | 565 though an install script is provided. |
| 202 | 566 |
| 203 It comes with two issue tracker templates (a classic bug/feature tracker and | 567 It comes with five issue tracker templates |
| 204 a minimal skeleton) and four database back-ends (anydbm, sqlite, mysql | 568 |
| 205 and postgresql). | 569 * a classic bug/feature tracker |
| 206 | 570 * a minimal skeleton; |
| 571 * a more extensive devel tracker for bug/features etc. | |
| 572 * a responsive version of the devel tracker | |
| 573 * a jinja2 based template based on devel | |
| 574 | |
| 575 and four database back-ends (anydbm, sqlite, mysql and postgresql). | |
| 576 |
