Code

Unit tests and a few fixes.
[roundup.git] / CHANGES.txt
index 825972cede0e4d4261afed778c442267ec9574cc..23d2f2609ec13b92e1e671086c84e8f7c4ea45f0 100644 (file)
@@ -1,7 +1,225 @@
 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.
 
-2002-01-?? - 0.4.0b2
+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:
  . #495392 ] empty nosy -patch
  . #500574 ] messageid must have format <part1@part2>