Code

Fix security hole allowing user permission escalation (thanks Ralf Schlatterbeck)
[roundup.git] / doc / announcement.txt
index 4e3bd9daa633e139ff794767d83f7d697c23e8fb..247bdc68299a7b018f6692f3f570b64aea10fcd2 100644 (file)
@@ -1,81 +1,74 @@
-===========================================================
-SC-Track Roundup 0.5 pre-release - an issue tracking system
-===========================================================
-
-Note: This is the final pre-release of the newest version of Roundup. It is
-      strongly recommended that you maintain your existing 0.4 installation if
-      you have one, and run 0.5 on a copy of the database. If you are
-      upgrading from 0.4, you must read doc/upgrading.txt!
-
-Roundup requires python 2.1.1 for correct operation. Support for dumbdbm
-requires python 2.1.2 or 2.2. 2.1.3 and 2.2.1 are recommended.
-
-This beta release fixes the following specific problems:
-
-- fixes to import/export
-- password edit now has a confirmation field
-- cleanups and fixes to the shipped classic template
-- new backend for sqlite (and it rocks :)
-- many performance improvements in dbm and sql backends
-- cgi.client base URL is now obtained from the config TRACKER_WEB (as a result
-  request.url has gone away - there's too much magic in trying to figure
-  what it should be)
-- cgi-bin script redirects to https now if the request was https
-- FileClass "content" property wasn't being returned by getprops() in most
-  backends
-- we now verify instance attributes on instance open and throw a useful error
-  if they're not all there
-- sf bug 611217 ] menu() has problems when labelprop==None
-- verify contents of tracker module when the tracker is opened
-- fixes to value parsing from edit forms
-- mailgw was missing an "import sys" (!)
-- setup now installs scripts with python -O flag, doubling performance in some
-  cases (there's a lot of __debug__ use)
-- added getItem to HTMLClass so you can access arbitrary items in templates
-- replaced the content() callback ickiness with Page Template macro usage
-- changed the default CSS style to be less offensive to some ;)
-- better handling of Page Template compilation errors
-- sf bug 614188 ] Exception in mailgw.py
-- sf bug 613310 ] traceback on onexistant items
-- sf bug 613291 ] typos in nosy list
-- handle stupid mailers that QUOTE their Re; 'Re: "[issue1] bla blah"'
-- giving a user a Role that doesn't exist doesn't break stuff any more
-- revamped user guide, customisation guide, added basic maintenance guide
-- merged some bugfixes from the Zope Page Templates trunk
-- added the "minimal" template
-
-A lot has been done since 0.4:
-
-- new backend for metakit (thanks Gordon McMillan)
-- new backend for sqlite
-- new backend for gadfly (it's as done as it's going to get)
-- further split the dbm backends from the core code, allowing easier
-  non-dict-like backends (eg metakit, RDB)
-- added Boolean and Number types
-- fixed the journal bloat
-- full-text search may also search certain String properties
-- entire database export and import (incl files)
-- implemented and used the new access control mechanisms (Permissions, Roles)
-- switched templating to use Zope's PageTemplates giving much more flexibility
-- revamped look and feel in web interface including cleaned up CSS usage
-- re-worked cgi interface to abstract out the explicit "issue" interface
-- switched to sessions for web authentication
-- saving of named search queries
-- updated design document for new access controls
-- updated customisation document, including more examples
-- added maintenance guide
-- better mailgw help message (feature request #558562)
-- we handle "not found", access and item page render errors better
-- fixed double-submit by having new-item-submit redirect at end
-- roundup-server may be a daemon now (fork, logfile, pidfile)
-- renamed "instance" to "tracker" everywhere, and "node" to "item" in most
-  places
-- many more bug fixes, cleanups and minor improvements
-
+I'm proud to release version 1.4.11 of Roundup which fixes a number bugs
+and closes a potential security hole.
+
+All tracker maintainers must read the upgrading documentation to make sure
+the hole is fixed in their tracker.
+
+Other changes in this release:
+
+- Generic class editor may now restore retired items (thanks Ralf Hemmecke)
+- Fix security hole allowing user permission escalation (thanks Ralf
+  Schlatterbeck)
+- More SSL fixes. SSL wants the underlying socket non-blocking. So we
+  don't call socket.setdefaulttimeout in case of SSL. This apparently
+  never raises a WantReadError from SSL.
+  This also fixes a case where a WantReadError is raised and apparently
+  the bytes already read are dropped (seems the WantReadError is really
+  an error, not just an indication to retry).
+- Correct initial- and end-handshakes for SSL
+- Update FAQ to mention infinite redirects with pathological settings of
+  the tracker->web variable. Closes issue2537286, thanks to "stuidge"
+  for reporting.
+- Fix some format errors in italian translation file
+- Some bugs issue classifiers were causing database lookup errors
+- Fix security-problem: If user hasn't permission on a message (notably
+  files and content properties) and is on the nosy list, the content was
+  sent via email. We now check that user has permission on the message
+  content and files properties. Thanks to Intevation for funding this
+  fix.
+- Fix traceback on .../msgN/ url, this requests the file content and for
+  apache mod_wsgi produced a traceback because the mime type is None for
+  messages, fixes issue2550586, thanks to Thomas Arendsen Hein for
+  reporting and to Intevation for funding the fix.
+- Handle OPTIONS http request method in wsgi handler, fixes issue2550587.
+  Thanks to Thomas Arendsen Hein for reporting and to Intevation for
+  funding the fix.
+- Add documentation for migrating to the Register permission and
+  fix mailgw to use Register permission, fixes issue2550599
+- Fix styling of calendar to make it more usable, fixes issue2550608
+- Fix typo in email section of user guide, fixes issue2550607
+- Fix WSGI response code (thanks Peter Pöml)
+- Fix linking of an existing item to a newly created item, e.g.
+  edit action in web template is name="issue-1@link@msg" value="msg1"
+  would trigger a traceback about an unbound variable.
+  Add new regression test for this case. May be related to (now closed)
+  issue1177477. Thanks to Intevation for funding the fix.
+- Clean up all the places where role processing occurs. This is now in a
+  central place in hyperdb.Class and is used consistently throughout.
+  This also means now a template can override the way role processing
+  occurs (e.g. for elaborate permission schemes). Thanks to intevation
+  for funding the change.
+- Fix issue2550606 (german translation bug) "an hour" is only used in
+  the context "in an hour" or "an hour ago" which translates to german
+  "in einer Stunde" or "vor einer Stunde".  So "an hour" is translated
+  "einer Stunde" (which sounds wrong at first).  Also note that date.py
+  already has a comment saying "XXX this is internationally broken" --
+  but at least there's a workaround for german :-) Thanks to Chris
+  (radioking) for reporting.
+
+If you're upgrading from an older version of Roundup you *must* follow
+the "Software Upgrade" guidelines given in the maintenance documentation.
+
+Roundup requires python 2.3 or later (but not 3+) for correct operation.
+
+To give Roundup a try, just download (see below), unpack and run::
+
+    roundup-demo
+
+Release info and download page:
+     http://cheeseshop.python.org/pypi/roundup
 Source and documentation is available at the website:
      http://roundup.sourceforge.net/
-Release Info (via download page):
-     http://sourceforge.net/projects/roundup
 Mailing lists - the place to ask questions:
      http://sourceforge.net/mail/?group_id=31577
 
@@ -83,14 +76,14 @@ Mailing lists - the place to ask questions:
 About Roundup
 =============
 
-Roundup is a simple-to-use and -install issue-tracking system with 
-command-line, web and e-mail interfaces. It is based on the winning design 
+Roundup is a simple-to-use and -install issue-tracking system with
+command-line, web and e-mail interfaces. It is based on the winning design
 from Ka-Ping Yee in the Software Carpentry "Track" design competition.
 
-Note: Ping is not responsible for this project. The contact for this project 
-is richard@users.sourceforge.net.
+Note: Ping is not responsible for this project. The contact for this
+project is richard@users.sourceforge.net.
 
-Roundup manages a number of issues (with flexible properties such as 
+Roundup manages a number of issues (with flexible properties such as
 "description", "priority", and so on) and provides the ability to:
 
 (a) submit new issues,
@@ -100,11 +93,11 @@ Roundup manages a number of issues (with flexible properties such as
 The system will facilitate communication among the participants by managing
 discussions and notifying interested parties when issues are edited. One of
 the major design goals for Roundup that it be simple to get going. Roundup
-is therefore usable "out of the box" with any python 2.1+ installation. It
-doesn't even need to be "installed" to be operational, though a
-disutils-based install script is provided.
+is therefore usable "out of the box" with any python 2.3+ (but not 3+)
+installation. It doesn't even need to be "installed" to be operational,
+though an install script is provided.
 
 It comes with two issue tracker templates (a classic bug/feature tracker and
-a minimal skeleton) and six database back-ends (anydbm, bsddb, bsddb3, sqlite,
-metakit and gadfly). 
+a minimal skeleton) and four database back-ends (anydbm, sqlite, mysql
+and postgresql).