diff --git a/CHANGES.txt b/CHANGES.txt
index 0a6430552890fc4a07f6ec3e761e8eef372db8b5..343e51eb45e20b155df6be615c8cc801b9450da4 100644 (file)
--- a/CHANGES.txt
+++ b/CHANGES.txt
This file contains the changes to the Roundup system over time. The entries
are given with the most recent entry first.
-2002-02-?? - 0.4.1
+2002-09-13 0.5.0 beta2
+ . all backends now have a .close() method, and it's used everywhere
+ . fixed bug in detectors __init__
+ . switched the default issue item display to only show issue summary
+ (added instructions to doc to make it display entire content)
+ . MANIFEST.in was missing a lot of template files
+ . added generic item editing
+ . much nicer layout of template rendering errors
+ . added context/is_edit_ok and context/is_view_ok convenience methods and
+ implemented use of them in the classic template
+
+
+2002-09-11 0.5.0 beta1
+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
+ . web forms may now unset Link values (like assignedto)
+ . cleanup: moved roundup.templatebuilder to roundup.templates.builder
+ . instance __init__ no longer silently traps dbinit import errors
+
+Feature:
+ . new backend for metakit (thanks Gordon McMillan)
+ . 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)
+ . implemented and used the new access control mechanisms (Permissions, Roles)
+ (see doc/security.txt)
+ . switched templating to use Zope's PageTemplates (yay!)
+ . switched to sessions for web authentication
+ . added Boolean and Number types
+ . fixed the journal bloat
+ . updated design document for new access controls
+ . updated customisation document, including more examples
+ . entire database export and import (incl files)
+ . better mailgw help message (feature request #558562)
+ . re-enabled link backrefs from messages (feature request #568714)
+ . the page layout is now templatable
+ . re-worked cgi interface to abstract out the explicit "issue" interface
+ . have index page handle mid-page errors better so header and footer are
+ still visible
+ . we handle "not found", access and item page render errors better
+ . fixed double-submit by having new-item-submit redirect at end
+ . daemonify roundup-server (fork, logfile, pidfile)
+ . modify cgitb to display PageTemplate errors better
+ . rename to "instance" to "tracker"
+ . have roundup.cgi pick up tracker config from the environment
+ . revamped look and feel in web interface
+ . cleaned up stylesheet usage
+ . several bug fixes and documentation fixes
+ . added is_retired test to hyperdb.Class
+ . 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
+ . switched to using a session-based web login
+ . made mailgw handle set and modify operations on multilinks (bug #579094)
+ . 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
- 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.
. #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