Code

*** empty log message ***
[roundup.git] / CHANGES.txt
index 5a02713384834f3d91a7b976c011bb6634961709..23d2f2609ec13b92e1e671086c84e8f7c4ea45f0 100644 (file)
@@ -1,7 +1,315 @@
 This file contains the changes to the Roundup system over time. The entries
 are given with the most recent entry first.
 
 This file contains the changes to the Roundup system over time. The entries
 are given with the most recent entry first.
 
-2001-10-?? - 0.3.0 
+2002-??-?? 0.5.0
+Fixed:
+ . #576086 ] dumb copying mistake (frontends/ZRoundup.py)
+ . installation instructions now mention "python2" in "testing your python".
+ . made the unit tests run again - they were quite b0rken
+ . #571170 ] gdbm deadlock
+ . #576241 ] MultiLink problems in parsePropsFromForm
+ . fixed the date module so that Date(". - 2d") works
+
+Feature:
+ . added capability to save queries:
+   - a query Class with name, klass (to search) and url (query string) properties
+   - a Multilink to query on user called queries
+   - html templates for query, and a list of queries in user.item
+   - search form has Save button & name input
+   - saved queries put in menu in pagehead
+   - for migration, none of the above is required and old behavior preserved.
+   - showquery translates search form <-> query string
+ . cleaned up the indexer code:
+   - it splits more words out
+   - removed code we'll never use (roundup.roundup_indexer has the full
+     implementation, and replaces roundup.indexer)
+   - only index text/plain and rfc822/message (ideas for other text formats to
+     index are welcome)
+   - added simple unit test for indexer. Needs more tests for regression.
+   - all String properties may now be indexed too. Currently there's a bit of
+     "issue" specific code in the actual searching which needs to be
+     addressed. In a nutshell:
+     + pass 'indexme="yes"' as a String() property initialisation arg, eg:
+           file = FileClass(db, "file", name=String(), type=String(),
+               comment=String(indexme="yes"))
+     + the comment will then be indexed and be searchable, with the results
+       related back to the issue that the file is linked to
+   - as a result of this work, the FileClass has a default MIME type that may
+     be overridden in a subclass, or by the use of a "type" property as is
+     done in the default templates.
+   - the regeneration of the indexes (if necessary) is done once the schema is
+     set up in the dbinit.
+   - new "reindex" command in roundup-admin used to force regeneration of the 
+     index
+ . added email display function - mangles email addrs so they're not so easily
+   scraped from the web
+ . added sorting of checklist HTML display
+ . switched to using a session-based web login
+ . made mailgw handle set and modify operations on multilinks (bug #579094)
+ . all storage-specific code (ie. backend) is now implemented by the backends
+ . fixed the journal bloat from multilink changes - we just log the add or
+   remove operations, not the whole list
+
+
+2002-06-24 0.4.2
+Fixed:
+ . Cleaned up the hyperdb unit tests.
+ . Applied patch from Andrew W. Nosenko to give nicer Unauthorised message
+   when anonymous user tries to edit. Should've been applied in 0.4.2pr1. Oops.
+ . Added more detailed note to MIGRATION regarding the detectors changes.
+
+
+2002-06-19 0.4.2pr1
+Feature:
+ . added a "detectors" directory for people to put their useful auditors and
+   reactors in. Note - the roundupdb.IssueClass.sendmessage method has been
+   split and renamed "nosymessage" specifically for things like the nosy
+   reactor, and "send_message" which just sends the message.
+ . link() htmltemplate function now has a "showid" option for links and
+   multilinks. When true, it only displays the linked node id as the anchor
+   text. The link value is displayed as a tooltip using the title anchor
+   attribute.
+   To use in eg. the superseder field, have something like this:
+   <td>
+    <display call="field('superseder', showid=1)">
+    <display call="classhelp('issue', 'id,title', label='list', width=500)">
+    <property name="superseder">
+     <br>View: <display call="link('superseder', showid=1)">
+    </property>
+   </td>
+ . stripping of the email message body can now be controlled through the
+   config variables EMAIL_KEEP_QUOTED_TEXT and EMAIL_LEAVE_BODY_UNCHANGED.
+ . all database files created are now group readable and writable.
+ . added option to automatically add the authors and recipients of messages
+   to the nosy lists with the options ADD_AUTHOR_TO_NOSY (default 'new') and
+   ADD_RECIPIENTS_TO_NOSY (default 'new'). These settings emulate the current
+   behaviour. Setting them to 'yes' will add the author/recipients to the nosy
+   on messages that create issues and followup messages.
+ . reverting to dates for intervals > 2 months sucks
+ . changed the default message list in issues to display the message body
+ . applied patch #558876 ] cgi client customization
+ . split instance initialisation into two steps, allowing config changes
+   before the database is initialised.
+ . don't create an empty message on email issue creation if the email is empty
+ . may now display additional fields in Multilink form menus
+ . #541941 ] changing multilink properties by mail
+ . #526730 ] search for messages capability
+ . #505180 ] split MailGW.handle_Message
+   - also changed cgi client since it was duplicating the functionality
+
+Fixed:
+ . stop sending blank (whitespace-only) notes
+ . cleanup of serialisation for database storage
+ . node ids are now generated from a lockable store - no more race conditions
+ . sorting was applied to all nodes of the MultiLink class instead of
+   to the nodes that are actually linked to in the "field" template
+   function.  This adds about 20+ seconds in the display of an issue if
+   your database has a 1000 or more issues in it.
+ . added missing documentation for a few of the config option values
+ . file upload broke if you didn't supply a change note
+ . fixed SCRIPT_NAME in ZRoundup for instances not at top level of Zope
+   (thanks dman)
+ . fixed some sorting issues that were breaking some unit tests under py2.2
+ . mailgw test output dir was confusing the init test (but only on 2.2 *shrug*)
+ . node caching now works, and gives a small boost in performance
+ . #449374 ] re-enable bsddb3 backend
+   bsddb3 backend now works, reinstating
+ . #551483 ] assignedto in Client.make_index_link
+ . made backends.__init__ be more specific about which ImportErrors it really
+   wants to ignore
+ . fixed the example addresses in the templates to use correct example domains
+ . cleaned out the template stylesheets, removing a bunch of junk that really
+   wasn't necessary (font specs, styles never used) and added a style for 
+   message content
+ . build htmlbase if tests are run using CVS checkout
+ . #565979 ] code error in hyperdb.Class.find
+ . #565996 ] The "Attach a File to this Issue" fails
+ . #564271 ] find() and new properties
+ . #562130 ] cookie path generated from ZRoundup was wrong in some situations
+ . remove CR characters embedded in messages (ZRoundup)
+ . properly quote the email address and "real name" in all situations using the
+    'email' module if it is available and 'rfc822' otherwise
+ . #565992 ] if ISSUE_TRACKER_WEB doesn't have the trailing '/', add it
+ . use the rfc822 module to ensure that every (oddball) email address and
+   real-name is properly quoted
+ . #558867 ] ZRoundup redirect /instance requests to /instance/ 
+ . #569415 ] {version}
+ . #569178 ] type error
+   was fixed as part of the general cleanup of reactors
+
+
+2002-03-25 - 0.4.1
+Feature:
+ . use blobfiles in back_anydbm which is used in back_bsddb.
+   change test_db as dirlist does not work for subdirectories.
+   ATTENTION: blobfiles now creates subdirectories for files.
+ . add module blobfiles in backends with file access functions.
+ . roundup db catch only IOError in getfile.
+ . roundup db catches retrieving not existing files.
+ . #503204 ] mailgw needs a default class
+   - partially done - the setting of additional properties can wait for a
+     better configuration system.
+ . Alternate email addresses are now available for users. See the MIGRATION
+   file for info on how to activate the feature.
+ . #511168 ] Web interface: Adding new products
+   Classes that don't provide template html get a default edit interface now:
+   - access using the admin "class list" interface
+   - limited to admin-only
+   - requires the csv module from object-craft (url given if it's missing)
+ . Added popup help for classes using the classhelp html template function.
+   - add <display call="classhelp('priority', 'id,name,description')">
+     to an item page, and it generates a link to a popup window which displays
+     the id, name and description for the priority class. The description
+     field won't exist in most installations, but it will be added to the
+     default templates.
+ . #517734 ] web header customisation is obscure
+ . All messages sent to the nosy list are now encoded as
+   quoted-printable before they are sent.
+ . Fixed display of mutlilink properties when using the template
+   functions, menu and plain.
+
+Fixed:
+ . Clean up mail handling, multipart handling.
+ . respect encodings in non multipart messages.
+ . makeHtmlBase: re.sub under python 2.2 did not replace '.', string.replace
+   does it.
+ . preamble in tepmlateBuilder mentioned htmldata
+ . mailgw checks encoding on first part too.
+ . #511586 ] unittest FAIL: testReldate_date
+ . Added a uniquely Roundup header to email, "X-Roundup-Name"
+ . All forms now have "double-submit" protection when Javascript is enabled
+   on the client-side.
+ . #516883 ] mail interface + ANONYMOUS_REGISTER
+ . #516854 ] "My Issues" and redisplay
+ . #517906 ] Attribute order in "View customisation"
+ . #514854 ] History: "User" is always ticket creator
+ . wasn't handling cvs parser feeding correctly
+ . fixed some problems in date calculations (calendar.py doesn't handle over-
+   and under-flow). Also, hour/minute/second intervals may now be more than
+   99 each.
+ . #527416 ] roundup-admin uses undefined value
+ . #527503 ] unfriendly init blowup when parent dir
+   (also handles UsageError correctly now in init)
+ . #524129 ] roundup-admin gets python path wrong
+
+
+2002-01-24 - 0.4.0
+Feature:
+ . much nicer history display (actualy real handling of property types etc)
+ . journal entries for link and mutlilink properties can be switched on or 
+   off
+ . properties in change note are now sorted
+ . you can now use the roundup-admin tool pack the database
+
+Fixed:
+ . the mail gateway now responds with an error message when invalid values 
+   for arguments are specified for link or mutlilink properties
+ . modified unit test to check nosy and assignedto when specified as arguments
+ . handle attachments with no name (eg tnef)
+ . fixed setting nosy as argument in subject line
+ . fixed back_bsddb so it passed the journal tests
+ . fixed status changes in mail gateway (eg. unread -> chatting)
+ . we'll actually distribute the frontends directory now, as advertised...
+ . handle stripping of "AW:" from subject line
+ . htmltemplate list() wasn't sorting...
+ . unit tests for html templating (and re-enabled the listbox field for
+   multilinks)
+ . allow abbreviation of "help" in admin tool too.
+ . run_tests testReldate_date failed if LANG is 'german'
+ . mailgw failures (unexpected ones) are forwarded to the roundup admin
+
+
+2002-01-16 - 0.4.0b2
+Fixed:
+ . #495392 ] empty nosy -patch
+ . #500574 ] messageid must have format <part1@part2>
+ . fixed some problems with web editing and change detection
+ . mail splitting wasn't detecting responses in the same "section" as quoted
+   text
+ . missed a "from i18n import _" in date.py
+ . #501690 ] MIGRATION.txt incomplete
+ . #502342 ] pipe interface
+ . #502437 ] rogue reactor and unittest
+ . re-enabled dumbdbm when using python >2.1.1 (ie 2.1.2, 2.2)
+ . changed all config accesses so they access either the instance or the
+   config attriubute on the db. This means that all config is obtained from
+   instance_config instead of the mish-mash of classes. This will make
+   switching to a ConfigParser setup easier too, I hope.
+ . #502951 ] adding new properties to old database
+ . #502953 ] nosy-like treatment of other multilinks
+ . #503164 ] create and passwords
+ . plain rendering of links in the htmltemplate now generate a hyperlink to
+   the linked node's page.
+ . #503330 ] ANONYMOUS_REGISTER now applies to mail
+ . #503353 ] setting properties in initial email
+ . #502956 ] filtering by multilink not supported
+ . #503340 ] creating issue with [asignedto=p.ohly]
+ . #502949 ] index view for non-issues and redisplay
+ . #503793 ] changing assignedto resets nosy list
+ . lots of date/interval related changes:
+   - more relaxed date format for input
+   - handle None for date/interval properties
+
+
+2002-01-08 - 0.4.0b1
+Feature:
+ . Added INSTANCE_NAME to configuration - used in web and email to identify
+   the instance.
+ . Added EMAIL_SIGNATURE_POSITION to indicate where to place the roundup
+   signature info in e-mails.
+ . Some more flexibility in the mail gateway and more error handling.
+ . Login now takes you to the page you back to the were denied access to.
+ . Admin user now can has a user index link on their web interface.
+ . We now have basic transaction support. Information is only written to
+   the database when the commit() method is called. Only the anydbm and
+   bsddb3 backends are modified in this way - the bsddb3 backend needs a
+   lot more work anyway...
+    - the CGI and mailgw automatically commit() at the end of processing a
+      single transaction
+    - the admin tool requires an explicit "commit" - it will prompt at exit
+      if there are unsaved changes. A "rollback" removes all changes made
+      during the session (up to the last commit).
+ . Added the "display" command to the admin tool - displays a node's values
+ . Message author's name appears in From: instead of roundup instance name
+   (which still appears in the Reply-To:)
+ . Added a Zope frontend for roundup.
+ . Centralised the python version check code, bumped version to 2.1.1 (really
+   needs to be 2.1.2, but that isn't released yet :)
+ . much better attaching of erroneous messages in the mail gateway
+ . #496356 ] Use threading in messages
+   This adds the tracking of messages by message-id and allows threading
+   using in-reply-to. Most e-mail clients support threading using this
+   feature, and we hope to add support for it to the web gateway.
+
+Fixed:
+ . Lots of bugs, thanks Roché and others on the devel mailing list!
+ . login_action and newuser_action return values were being ignored
+ . Woohoo! Found that bloody re-login bug that was killing the mail
+   gateway.
+ . Fixed login/registration forwarding the user to the right page (or not,
+   on a failure)
+ . We now use weakrefs in the Classes to keep the database reference, so
+   the close() method on the database is no longer needed.
+ . #487480 ] roundup-server
+ . #487476 ] INSTALL.txt
+ . #489760 ] [issue] only subject
+ . fixed doc/index.html to include the quoting in the mail alias.
+ . fixed the backends __init__ so we can pydoc the backend modules
+ . web i/f reports "note added" if there are no changes but a note is entered
+ . we were assuming database files created by anydbm had the same name, but
+   this is not the case for dbm. We now perform a much better check _and_
+   cope with the anydbm implementation module changing too!
+ . envelope-from is now set to the roundup-admin and not roundup itself so
+   delivery reports aren't sent to roundup (thanks Patrick Ohly)
+ . #495400 ] entering blanks
+   Values with spaces are now accepted in roundup-admin - check the long help
+   for details.
+ . #496360 ] table width does not work
+ . detectors were being registered multiple times
+ . added tests for mailgw
+
+
+2001-11-23 - 0.3.0 
 Feature:
  . #467129 ] Lossage when username=e-mail-address
  . #473123 ] Change message generation for author
 Feature:
  . #467129 ] Lossage when username=e-mail-address
  . #473123 ] Change message generation for author
@@ -12,6 +320,12 @@ Feature:
  . roundup-admin now accepts abbreviated commands (eg. l = li = lis = list)
  . roundup-mailgw now supports unix mailbox and POP as sources of mail.
  . roundup-admin now handles all hyperdb exceptions
  . roundup-admin now accepts abbreviated commands (eg. l = li = lis = list)
  . roundup-mailgw now supports unix mailbox and POP as sources of mail.
  . roundup-admin now handles all hyperdb exceptions
+ . users may attach files to issues (and support in ext) through the web now
+ . incorporated patch from Roch'e Compaan implementing attachments in nosy
+   e-mail
+ . added a target version field to the extended issue schema
+ . added dummy hooks for I18N and some preliminary (test) markup of
+   translatable messages
 
 Fixed:
  . Fixed a bug in HTMLTemplate changes.
 
 Fixed:
  . Fixed a bug in HTMLTemplate changes.
@@ -31,7 +345,19 @@ Fixed:
  . bug #477892 ] Password edit doesn't fix login cookie
  . newuser_action now presents error messages rather than tracebacks.
  . bug #479511 ] mailgw to pop
  . bug #477892 ] Password edit doesn't fix login cookie
  . newuser_action now presents error messages rather than tracebacks.
  . bug #479511 ] mailgw to pop
+ . bug #479508 ] roundup-admin crash on wrong class
  . bad error report in hyperdb
  . bad error report in hyperdb
+ . roundup.mailgw now handles errors on the set() and create() at the end
+   of processing
+ . roundup.mailgw also handles messages that are passed to it that don't
+   contain a From: line - apparently some POP servers can do this. It punts
+   an error message to the roundup admin.
+ . fixed nosy reaction and author copy handling
+ . errors in nosy reaction will be propogated now (were effectively being
+   squashed)
+ . re-open the database as the author in mail handling
+ . missing "return" in filter_section (thanks Roch'e Compaan)
+
 
 2001-10-23 - 0.3.0 pre 3
 Feature:
 
 2001-10-23 - 0.3.0 pre 3
 Feature: