- Unreleased

    Display time in user's TZ [sureshvv]

- 0.13.1

    Bug fixed: Rare condition of sorting filtered issues could cause a
    TypeError.

- 0.13.0

    Bug fixed: Saved filter cookies were saved with just the ID of the
    issuetracker instance which could cause conflicts on different
    issuetrackers under the same ID.

    Bug fixed: Issue duplication check with brackets or quotation
    marks could cause a ParseError due to ZCatalog search.

    New feature: Ability to edit actual time per followup if you're
    manager or author.

    Bug fixed: Thread default actual_time_hours to 0.0 so you can use
    the ZMI property sheet to update it.

    New feature: Greatly optimized how getModifyTimestamp is done on
    the whole IssueTracker.

    Bug fixed: Adding followups on out-of-date trackers without the
    'threaddate' DateIndex is now not failing with an error.

    New feature: Full issue activity report if you enable "Actual time
    per follow up"

    Bug fixed: Follow ups weren't indexed properly when created. Had
    to Update Everything to update monthly summary report.

    New feature: All whitespace optimized .css and .js files are put
    into subdirectory called `.autogenerated`.

- 0.12.0

    New feature: All CSS and JS that was served as DTML now served as
    plain files.

    New feature: Urgency of an issue included in the subject line of
    notifications.

    Bug fixed: Badly raised UnicodeDecodeError on parsing emails in.

    Bug fixed: Finding and making links to issues with IDs higher than
    the current number of digits used for IDs not matches.

    New feature: Can enable so that 'Always notify' means it sends
    notifications on all followups and not just new issues.

    New feature: Followup duplicates are only duplicates if they have
    the same name and content and was posted within 5 minutes. (Thanks
    Radim)

    New feature: Mobile web XHTML version which is lighter and more
    optimized CSS margins.

    Bug fixed: Possible KeyErrors raised on deleting session keys when
    running Zope in a cluster.

    Bug fixed: CSS corrected so body of issue text gets the same font
    as the rest of the page.

    New feature: Ability to override which email addresses to notify
    on a followup.

- 0.11.0

    Bug fixed: Saved filters that refer to objects that no longer
    exist could cause an error on the filter option.

    New feature: Monthly summary report

    New feature: By default ID is shown with title on new Issue
    Tracker instances.

    Bug fixed: Page AddIssue now security protected with the same
    permission as for submitting issues.

    New feature: Made IssueTrackerProduct work in Zope 2.12. (Thanks
    Suresh V)

    New feature: Now possible to filter by assignees.

    New feature: Home page list of recent issues is much optimized by
    using the catalog to search by 'modifydate'.

    Bug fixed: Editing urgency and type on submitted issues could
    cause UnicodeDecodeError.

    New feature: Added Markdown as a display format option if installed.
    To enable, just install markdown on the python path.

    Bug fixed: Previewing an issue with chosen sections that are
    non-ASCII caused a UnicodeDecodeError.

    New feature: DEFAULT_ENCODE_EMAILDISPLAY is disabled by default in
    new trackers. Issuetrackers are rarely public.

    Bug fixed: Custom checkbox boolean fields whose values were True
    appeared as a unchecked checkbox on editing details (Real#0893)

    Bug fixed: Custom checkbox boolean fields whose values were False
    didn't show up issue details.

    Bug fixed: Inability to set the defaultsections Thanks Jean
    (Real#0880)

    Bug fixed: Emails encoded in unicode-1-1-utf-7 encoded as utf-7

    Bug fixed: Email in body parsed correctly into Unicode.

    New feature: Clairvoyant Javascript optimized with JSON.

    New feature: Menu icons in a CSS Sprite for much faster loading.

    Bug fixed: Manually reset ID counters could cause excessive
    recursion when generiting IDs. (Real#0659) Thanks Nicholas

    Bug fixed: Inability to change password if user folder is
    configured to encrypt stored passwords. (Real#0823) Thanks Greg

    New feature: Inbound emails with header "X-Autoreply: yes" are
    ignored (Real#0855). Thanks Nicholas

    New feature: Loading the "Delete issue" form is done in AJAX if
    Javascript is enabled.

    Bug fixed: Unicode options for the Default sections. (Real#0672)

    New feature: Which list you were at is remembered when visiting an
    issue even after reloading the issue page. Not just for searches.

    New feature: Made DEFAULT_INCLUDE_DESCRIPTION_IN_NOTIFICATIONS
    default to True so that by default the issue description is shown
    in the email notifications.

    Bug fixed: Emails in with a subject line containing the word
    'General' without a section option called that failed.

    New feature: Upgraded to latest version of jQuery 1.3.2.

    New feature: Added UnicodeSplitter to be able to properly index
    and search Unicode text.

- 0.10.3

    Bug fixed: Fixed dispatcher() so that it doesn't break on deleted
    issues.

    Bug fixed: CMF member can be None without breaking. (Real#0811)

    New feature: Issue ID is included in the subject line of email-in
    receipts if set up to show ID with the title. Real#0797

    New feature: Select custom fields become multiple-selects when used
    as a filter. Real#0784, Real#0762

    Bug fixed: Loaded filter options in AJAX now with stopped client
    cache. Real#0782, Thanks Jack.

    Bug fixed: File attachments of followups weren't immediately
    indexed.

    Bug fixed: Sometimes followup objects weren't index properly by
    path. This was not a problem when the catalog was only used for
    searching but now it's used to count issues too.

    New feature: Detail changes to issues are recorded and shown on
    the issue page.

    New feature: If you upload a file whose exact name is a method or
    a template the IssueTrackerProduct itself the files get
    automatically renamed.

    New feature: Search smarter by not doing a wildcard search on
    titles unless not found exactly anywhere else.

    Bug fixed: Static file's from misc_ set an incorrect header called
    Cache-Length.

    New feature: Assignee name shown in rich list on List Issues.
    (Real#0757)

    New feature: Document title is changing when a clarvoyant message
    appears on followups.

    New feature: Assignee is including in the CSV export from List
    Issues. (Real#0764)

    Bug fixed: Always notify could accidentally send emails to people
    not necessarily in the always notify list but with the same first
    name of the full name.

- 0.10.2

    Bug fixed: Fix to make it work in Zope 2.11 with content_types
    being deprecated. Real#0759, Thanks Pat Heffernan.

    Bug fixed: Javascript shortcuts not working when writing a
    non-quick followup (e.g. completing an issue)

    Bug fixed: Email address allowed non-ascii characters.

    Bug fixed: Javascript keyboard shortcuts not loaded correctly on
    adding issue.

- 0.10.1

    Bug fixed: Sometimes it was not possible to complete a followup
    draft since the action was incorrectly set to "Add Followup" not
    "AddFollowup".

    New feature: Much performance improved home page now since
    CountStatuses() now uses the catalog instead. Must press Update
    Everything button.

    New feature: Only the firstname is show in the menu when logged in.

    New feature: Upgraded to the latest jQuery 1.2.6 and removed
    jquery-latest.pack.js

    Bug fixed: Reloading Add Issue form with multiple select custom
    fields selected would cause a TypeError. Thanks Nicolas.

    Bug fixed: IssueTracker User Folder allowed to save non-unicode
    full names.

    Bug fixed: Uncataloging saved filters before the saved filters
    catalog had been set up could cause an AttributeError.

    Bug fixed: Custom fields in filters where nothing is an option
    could cause the filter to filter out all issues.

    Bug fixed: Filtering on custom fields that are lines or ulines
    would give a ugly filtername that looks like a repr of a python
    list or tuple.

    Bug fixed: Custom field selects with forced values overrides the
    list of options.

    Bug fixed: Fixed a bug where some saved followup drafts weren't
    saved as Unicode.

    Bug fixed: Custom field type validity check failed on values that
    were already lists or tuples and don't need to be converted to a
    list.

    Bug fixed: Custom fields that were "ulines" or "lines" and
    multiple="multiple" would become nested lists until flattened.

    New feature: Any filtering done by spider bots are not
    persistently saved.

- 0.10.0

    New feature: Custom fields!

- 0.9.3

    Bug fixed: Loading a saved draft followup that didn't have an
    action would raise an error.

    Bug fixed: Loading filter options in Konquerer would load the AJAX
    request 3 times for one click.

    Bug fixed: Saved filters container was never imploded even if the
    container had more saved filters in it than allowed.

    Bug fixed: Saving filters when only the fromname is known would
    raise an UnmatchableError.

- 0.9.1

    Bug fixed: NameError when checking for emails in and nothing to
    download. Thanks Luciano (Real#0743)


- 0.9.2

    Bug fixed: When accepting multipart emails and html2safehtml is
    not installed the default part to keep is now the text/plain part.

    Bug fixed: Loading a saved draft followup that didn't have an
    action would raise an error.

    Bug fixed: Loading filter options in Konquerer would load the AJAX
    request 3 times for one click.

    Bug fixed: Saved filters container was never imploded even if the
    container had more saved filters in it than allowed.

    Bug fixed: Saving filters when only the fromname is known would
    raise an UnmatchableError.

- 0.9.1

    Bug fixed: Saved cookies with where only the name is known could
    cause an error on the /User page.

    Bug fixed: Delete issue form did not work.

- 0.9.0

    New feature: If you pass the spambot prevention test it's
    remembered in a cookie for the next 60 days rather than just for
    the session.

    New feature: When you've added an issue the URL it redirects to no
    longer ends with ?NewIssues=Submitted. Cleaner URLs.

    New feature: Really long URLs in the text that extend beyond the
    box it's in is truncated shorter.

    Bug fixed: Having statuses containing unicode characters could
    break the statistics page. Thanks Rene Bonvin. (Real#0735)

    New feature: Basic statistics is not private by default from now
    on. You can still make it private from the Advanced Properties page.

    New feature: Statuses can now be configured to contain unicode
    characters.

    New feature: The persistent list of saved filters is now indexed
    with a separate ZCatalog to vastly speed up lookups of old saved
    filters.

    Bug fixed: Saved filters containing unicode characters could cause
    a UnicodeDecodeError.

    Bug fixed: Unicode characters in a filtered name would show
    incorrectly when loading the filter options.

    Bug fixed: Having statuses containing unicode characters could
    break the statistics page. Thanks Rene Bonvin. (Real#0735)

    New feature: Basic statistics is not private by default from now
    on. You can still make it private from the Advanced Properties page.

    New feature: Statuses can now be configured to contain unicode
    characters.

    New feature: The persistent list of saved filters is now indexed
    with a separate ZCatalog to vastly speed up lookups of old saved
    filters.

    Bug fixed: Saved filters containing unicode characters could cause
    a UnicodeDecodeError.

    Bug fixed: Unicode characters in a filtered name would show
    incorrectly when loading the filter options.

    Bug fixed: Search on title with wildcards (e.g. *keyword* matching
    'subkeywords') only if no other title searches matched.

    Bug fixed: Emails with tabs in header values were before
    incorrectly stripped of this whitespace causing the set of headers
    to be shortened. Thanks Jesse Perry

    Bug fixed: getIssueObjects() would break with KeyError if a
    reference to a join-in issuetracker (see bottom of Advanced
    properties) is broken.

    Bug fixed: Reassigned issues didn't say "assigned" on the List
    Issues. Thanks NiBar (Real#0711)

    New feature: Added new method called getReportIssues() that takes
    the id of the report as an only parameter and it returns all the
    issues that report would find.

    New feature: Search result highlighting can be switched off with a
    Javascript-created link similar to Gmail.

    Bug fixed: Encoded email address in a autorefresh are re-encoded.

    Bug fixed: Possible UnicodeDecodeError if using normal acl_users
    user folder with a unicode fromname.

    New feature: File attachments initially hidden and covered with a
    Javascript opener.

    New feature: Change assignment form expands automatically on focus.

    Bug fixed: Filter switcher ("Do only show"/"Do not show") had a
    Javascript error on a missing variable called 'label'.

    New feature: Ability to disable "Show them all" as a batching
    option. Very useful when there are many issues because showing this
    page will slow your Zope down.

    Bug fixed: Name hidden wasn't hidden on home page.

    New feature: List of issues on home page periodically refreshed
    with AJAX.

    Bug fixed: Download of dodgy emails without a To: part now skipped
    (Real#0700, thanks Jesse Perry)

    New feature: File attachment links have a rel="nofollow" now.

    New feature: Ability to hook up pre- and post scripts that are
    called before and after issues are submitted.
    http://www.issuetrackerproduct.com/Documentation/How-Tos/pre-post-SubmitIssue

    Bug fixed: Confidential issues could be seen by logged in people
    by changing their email address to an email address of someone else.
    (Real#0696, thanks NiBar)

    Bug fixed: Keyboard shortcut for comparing issues changed from 'c'
    to 'g'+'d' since the 'c' cause interference with Ctrl-C for copying.
    (Real#0697, thanks Jesse Perry)

    New feature: Skipped notifications when not dispatching on submit.
    Means that if you let a cronjob send the notifications instead of
    immediately sending them, some notifications are cancelled if the
    people who are email have already followed up. (Real#0686)

    Bug fixed: rss.xml and rdf.xml weren't protected by the View
    permission. (Real#0695, thanks Jesse Perry)

    Bug fixed: Changed default encoding from "utf8" to "utf-8" to make
    sure older IEs gets it right.

    Bug fixed: Header in CSV file for "ID" replaced by "Issue ID"
    (Real#0687)

    Bug fixed: Clairvoyant AJAX checks' interval increases now slowly as
    the page gets older.

    Bug fixed: Issues were uncataloged twice when deleting causing a
    harmless extra message in the event log.

- 0.8.3

    Bug fixed: Clairvoyant javascript alert on followups would repeat
    the same message over and over (almost blinking).

    New feature: Name and email is saved in a cookie when working on a
    draft if the name/email isn't already set.

    Change: If in DEBUG mode (environment variable
    DEBUG_ISSUETRACKERPRODUCT) emails are printed to stdout

- 0.8.2

    Bug fixed: Error on duplicate in on second followups in issues.
    Real#0665 and Real#0666

- 0.8.1

    Bug fixed: The clarvoyent AJAX feature would show if someone is
    working a different issue to the one you're looking at.

- 0.8.0

    New feature: Ability to compare issues (experimental). Only works
    when using keyboard shortcuts. Key: c

    New feature: Now you can assign an issue to anybody even after
    it's been created and even if it didn't already have an assignment.
    Real#0299, Real#0188, Real#0081

    Bug fixed: Sending assignment emails from a user with non-ASCII
    name would cause an UnicodeDecodeError.

    New feature: Uses jQuery 1.2.1

    Bug fixed: Cancelling a go-to-issue keyboard command caused a
    Javascript error.

    New feature: Upgraded to addhrefs 0.9.3

    Bug fixed: preParseEmailString would sometimes barf on unicode
    strings for translation.

    Bug fixed: UnicodeDecodeError wasn't raised properly in processing
    inbound email reply and formatflowed_decode() was called with wrong
    parameter. Thanks Robert Leftwich (Real#0642)

    Bug fixed: When you reply via email to an issue, no notification
    was sent to those involved in the issue. Thanks Robert Leftwich.
    (Real#0413)

    New feature: When you reach the last line in any textarea input
    (eg. on adding a new issue) the textarea box automatically expands
    to add a few extra blank lines.

    New feature: Expires header set to all static content and set much
    further into the future for better HTTP caching.

    New feature: The Tell-a-friend and Subscribe-to-changes has been
    moved down below the issue threads.

    Bug fixed: Fixed possible XSS hole. Name and email checking now
    done when adding issues and followups.

    Bug fixed: Emails in unicode (non-ascii) characters could lead to
    email notifications being sent out incorrectly.

    New feature: The autorefresh interval starts on 3 seconds interval
    and increases the interval length by 30% each time it incurs.
    http://www.issuetrackerproduct.com/News/autorefresh-intervals/

    Bug fixed: multiple drafts were created sometimes.

    New feature: fromname, title and description of issues and
    followups are now stored as unicode! The default encoding is utf8.

    New feature: If you run Python 2.4 on your Zope you can configure
    the POP3 to use SSL. Thanks Shane Graber

    New feature: Possible to disable the 'Tell a friend' feature for
    anonymous users (eg. spambots for example). Thanks Fred Damberger

- 0.7.3

    Bug fixed: .svn and CVS folders could be created when you Update
    Everything.

    New feature: New version of addhrefs.py version 0.9.2.

    New feature: QuickAddIssue now shows the spambot prevention if
    switched on. Real#0343

    Bug fixed: Redirecting out on duplicate status change would cause
    a TypeError. This happens when two people simultaneuously for
    example Take an issue.

    Bug fixed: Change user details didn't work when you're not logged
    in as a CMF user.

    Bug fixed: ShowIssueData template mixed up ShowIssueURLOption with
    ShowConfidentialOption. Thanks Peter Eddy. Real#0332

    Bug fixed: Edit notifyable error. Real#0320

    New feature: Ability to enable a spambot prevention technique to
    assert that posters are humans.
    (see Properties->Advanced->Enable spambot prevention)

    Bug fixed: When using IssueTrackerProduct on top of Plone the
    authenticated member was selected incorrectly. Thanks Greg Baker
    (Real#0315)

    Bug fixed: get_cookie() typo should have been self.get_cookie().
    Thanks Greg Baker (Real#0312)

    Bug fixed: Javascript autorefresh didn't work with URLs ending in
    'index_html'. Thanks Maheshg Real#0298

    Bug fixed: Odd emails with ISO-8859 encoding that aren't really
    ISO-8859 encoded could cause a TypeError. Thanks Mirco Attocchi
    Real#0300.

    Bug fixed: POP3 email parsing could fail if email didn't have a
    message-id.

    New feature: "Select all" button on the Spam protection page.

    Bug fixed: Bug in saving of spam keywords on duplicate keywords
    across combinations fixed.

    Bug fixed: Not possible to change an issues Confidential status
    through the "change details" form even if Confidential option was
    enabled. Real#0281

- 0.7.2

    Bug fixed: Nasty bug in name/email gets blanked on issue
    submission even the issuetracker remembers the users name as part
    of the instance persistency. Thanks Rakesh, Ramy, Pradeep Real#0268

    Bug fixed: getPreviewTitle() on followups could get potentially
    confused if you tried to put on hold.

    New feature: Spam protection built in. Click Management tab, Spam
    protection to configure the spam keywords. Only applicable to
    public issuetrackers really.

    Bug fixed: ACL accounts where the username == full name couldn't
    be sent to in the Always notify property. Thanks Ed Leafe Real#0266

    Bug fixed: ValueError in pop3 checking with mismatched case in the
    subjectline. Thanks Eric Real#0265

    New feature: Ability to control wether to reveal the new issue URL
    of issues created via inbound email. Instead of the issue's URL it
    shows the ID like #0001. (Thanks Bob Gimlich Real#0263)

    Bug fixed: Emailed in issues with signature had incorrect
    linebreaks in HTML looking like this: <br\s*/>

    New feature: The URL option on Add Issue is now by default
    switched off (available on Properties, Advanced) on all new
    instances.

    New feature: Now you can control the menu items through the
    Properties tab. Follow the "Configure the menu" link.

    Bug fixed: When renaming an issuetracker, ACL users defined within
    and used in issues, threads and assignments got link broken. Now a
    new function called _renameOldPaths() takes care of this.

    Bug fixed: The CSV export includes titles of join-in issuetrackers
    like on List Issues. (thanks Kosmas Real#0249)

    New feature: You can search a comma separated list of issue ids in
    serveral suitable formats like '#0123, 124, 0125, #126'.

- 0.7.1

    Bug fixed: Searching and finding exactly one matched issue yielded
    a TypeError about len() that happens just before the redirect to the
    issue.

    Bug fixed: getNextActionIssues() got confused when ACL logged in
    users had submitted their last replies to issues via email and
    included it wrongly.

    Bug fixed: timeSince() could return "2 weeks and 0 days" when it
    should just be "2 weeks".

    Bug fixed: Id with title in <title> tag (Real#0236)

    Bug fixed: Badly formatted email replies that don't use > but
    split the new and old text with "-----Original Message------" can
    now be splitted correctly.

- 0.7.0

    New feature: "drafts" folder is (if possible) created as
    BTreeFolder2 (Real#0228)

    Bug fixed: Automatic refresh in Opera 8.51 fixed.

    Bug fixed: Some of the fancy javascript stuff didn't work in IE5
    and IE5.5 but now they at least don't give any error messages.

    New feature: It is now possible to switch off the Tell a Friend
    feature from the Show Issue page. (Real#0219)

    Bug fixed: Followups could be autosaved even if they didn't have
    any text. (Real#0220)

    Bug fixed: Failed email sendouts failed on the error catching
    because of a typo.

    New feature: 'Your next action issues' list on homepage. Disabled by
    default but can be enabled on the user settings page.

    Bug fixed: Searching and finding only one issue when filters are
    on is now more careful. (Real#0072)

    New feature: When you set up accepting emails for a POP3 account
    you can also blacklist certain email address like '*@hotmail.com'.
    You can also whitelist exceptions to the blacklist patterns.

    New feature: Being able to change issues once added is now
    governed by a permission called 'Change Issue Tracker Issues'.

    New feature: You can now reply to issue notifications sent out
    from an issuetracker if the sitemaster email address is one of the
    accepting emails in the POP3 setup. This makes it possible to
    completely discuss an issue without even using a web browser.
    Parsing of the replies is best done with Formatflowed installed.

    New feature: POP3 inbound email feature now prevents duplicates
    and it is now possible to use this without deleting emails from
    the server.

    Bug fixed: Typo for 'remember_savedfilter_persistently' cookie key
    reference which caused excessive LOG() messages.

    New feature: Autosave for followups enabled. Autosaving is now
    only done when focus is on the subject or description/comment.

    New feature: Ability to specify Estimated time and Actual time as
    attributes on an issue. See Advanced Properties tab if interested.

    New feature: A much improved searchterm-highlighter that doesn't
    highlight words like 'a' when their inside a word like th*A*t.

    New feature: New Advanced option that disallows adding issues with
    a potentially duplicate subject/title.

    New feature: keyboardshortcuts.js which allows you to use the
    keyboard to navigate. Enabled only if selected on the User page.

- 0.6.13

    New feature: Which used filter used is only remembered in one
    session, if you're a Issue User you can set it to remember this
    persistently. Thanks Jan Kokoska for the push (Real#0186)

    Bug fixed: Applying a filter when inside the Complete List page
    would redirect back to List Issues. Thanks Benjamin Higgins
    (Real#1087)

    Bug fixed: It was not possible to change the "URL" for an issue
    when using the little "change details" form on the issue display.

    New feature: CleanOldSavedFilters() (part of Update Everything)
    can now tidy up the amount of saved filters stored inside an
    issuetracker. Needed as part of fixing Real#0183.

    Bug fixed: Subscription form caused invalid XHTML. (Thanks John J
    Lee)

    Bug fixed: If you had a Zope object called Reports somewhere in
    the acquisition path, you could get an AttributeError: getScripts
    on the Home page. Thanks David Snowsill (Real#0180)

    Bug fixed: Statistics page didn't work with a completely new
    issuetracker instance. Thanks Tim Sparkes.

    Bug fixed: User page now usable with old Konqueror (Real#0158)

    Bug fixed: CSV export notates issue IDs with # so that
    Excel/oocalc doesn't try to make the issue ID into an integer.

    New feature: Introduced new js-core.js javascript page for general
    functions that all pages can use. (beware those who have
    StandardHeader.zpt checked out!)

    Bug fixed: CSS is now alos cached with the more modern
    'Cache-Control' header thanks to advise from Dieter Maurer.

    Bug fixed: When running a report the batching links didn't work Real#0172

    New feature: Every time you run a report it remembers globally how
    many issues where found.

    Bug fixed: The homepage could say that an issue was from Today or
    Yesterday because it mathematically was so by arithmatic but did not
    take midnight into account to show what really was Today and
    Yesterday.

- 0.6.12

    New feature: Header background and issue header background gets a
    gradient shade instead of single coloured.

    Bug fixed: When moving to storage in a BTreeFolder the internal ID
    counter was lost and counting of issues was done where there are
    longer any issues resulting in odd issue IDs. (thanks Jason Powers
    Real#0167)

    New feature: "Recently added issues" and "Recently visited issues"
    have been merged into one list "Recent issues".

    Bug fixed: Instances using a SecureMailHost had to see the To: and
    From: headers repeated inside the email body.

    New feature: File attachments to issues or followups contain
    illegal characters are stripped to valid ids (Real#0169)

    New feature: Long filenames are truncated when shown in the
    issuedescription. Before they could overlap the other info.

    New feature: An M$ Outlook inspired homepage listing of the latest
    changes in issues that replaces the list of "5 latest issues".

    New feature: If you use a Secure MailHost, the secureSend()
    function is used instead to send emails.

    Bug fixed: Revisiting saved thread drafts didn't work.

    Bug fixed: If 'self.subscribers' in Issue objects were tuples,
    they are now automatically converted to lists.
    (thanks Oldrich Auda, Real#0163)

    Bug fixed: User.zpt wasn't checkoutable with CheckoutableTemplates
    (thanks Kosmas Chatzimichalis)

    New feature: Adding issues is bound to a different permission name
    "Add Issue Tracker Issues". It used to "View". This affects those
    who use the "Issue Tracker Manager" and "Issue Tracker User" roles.

    New feature: Mentions of other issues with a hash like #0150
    becomes a hyperlink. (Real#0150)

    Bug fixed: 'remember-filterlogic' request variable was only
    considered for whether to session store the filterlogic, not the
    filtervaluer.

    Bug fixed: getEmailFromnameCombos() didn't fetch fromname and
    email correctly thus disabling POP3 reading.

    Bug fixed: fromname and email is saved additionally again when
    you're logged in as Issue User Folder user.

    Bug fixed: 'svn://' or 'ssh+svn://' URLs were shown  with a 'http://'
    first prefixed. (Real#0154)

- 0.6.11

    New feature: Experimental Upgrade tab inside the Management tab.

    Bug fixed: The migration for Zope 2.8.0 on the ZCatalog wasn't
    backwardscompatible. The migration script is now wrapped in a if
    statement so that it's only run if it exists.

    New feature: Press Update Everything to make sure all issues and
    threads have the latest name and email if users are defined in a
    Issue User Folder.

    Bug fixed: _getOthers() was still using self.email instead of
    self.getEmail() on issues which meant trouble if the submitter of
    the issue would be a Issue User Folder submitter with no previously
    submitted issues.

    New feature: From Advanced Properties you can set scores for each
    status and calculate a guesstimate overall status progress.

    Bug fixed: When adding an issue, request variables are now only
    taken from REQUEST.form which avoids any cookies or session
    variables. (Thanks Eric Bressler Real#0152)

    Bug fixed: All references to REQUEST.AUTHENTICATED_USER gone.
    (Real#0057)

    Bug fixed: Password reminders could not find SecureMailHost
    mailhost objects to send emails via when outside an issuetracker.

    Bug fixed: Bug reporting and error handling used the old address
    to the Real issuetracker. Now it's using real.issuetrackerproduct.com.

    Bug fixed: Spam detection on inbound emails are now also checked
    on lowercase header keys which can be the case on some servers.

    Bug fixed: Fixed potential bug where default_display_format
    attribute isn't set on the class instance (Real#0129)

    Bug fixed: Now works with Zope 2.8.0 (Real#0108, Real#0136,
    Real#0120). Make sure you press the "Update Everything" button
    after installation.

    New feature: By default Save Drafts is now set to True.

    Bug fixed: Bad optimization of ListIssues|CompleteList could
    result in AJAX for showing/hiding filter options didn't work.

    Bug fixed: getFromname and getEmail in Issue class could get KeyError
    if a user has been moved.

    New feature: All sourcecode cleaned up with Pyflakes
    (http://divmod.org/projects/pyflakes)

    Bug fixed: The "Allow issue attribute change" property now
    actually does something. You can now post-submission change the
    issue attributes such as section and urgency.

- 0.6.10

    Bug fixed: addissue.js had a malformed line which caused incorrect
    Javascript code if you use slimmer 0.1.16 which could result in
    autosaving not working on the Add Issue page.

    New feature: Statistics got a barchart on issues by status.

    New feature: Drafts are cleaned up on issue submission unless a
    draft_issue_id is available. (Real#0126)

    Bug fixed: "Notify the others" on followup form only listed names
    with a valid email address. (Real#0123)

    Bug fixed: RSS feed sort order is now the same as the of the Home
    page. (Real#0124)

    Bug fixed: RSS feed escaped with CDATA instead of both that and
    HTML quoted. (Real#0125)

- 0.6.9

    Bug fixed: If no name or email on the issue and the user, it
    would say that you're already subscribing to an issue. (Thanks
    Benjamin Higgins Real#0113)

    New feature: Deleting drafts from the Add Issue page is done with
    AJAX.

    New feature: if you want to use a Secure Mail Host instead of the
    default Mail Host, it is now recognized as 'SecureMailHost' but
    'MailHost' still takes precedence.

    Bug fixed: Which type of List Issues was remembered but not used
    if you were logged in as Issue User. (Thanks Marcus Scotti, Real#0110)

    Bug fixed: Filter on fromname didn't work due to a bug in a
    regular expression. (Thanks Fred Damberger, Real#0103)

    Bug fixed: getEmail() and getName() would raise an
    error if the acl_users (if applicable) folder can't be found, which
    might be the case when importing an issuetracker.

    Bug fixed: DeployStandards checked folder existance with
    acquisition.

    New feature: If AJAX works the filter options are loaded with AJAX
    otherwise loaded as a new page request (on the List Issues or
    Complete List).

    New feature: When you search on multiple words, an alternative
    search link appears that puts "or" between all words. (Real#0102)

    New feature: export.csv makes it possible to download all issues in
    one single CSV file. If you enabled 'CSV export link' in the
    Advanced properties you can export the current set to CSV.

    Bug fixed: Assignment form no longer shown on Complete List
    (Real#0101)

    Bug fixed: The first saved draft wouldn't pop up again on Add
    Issue. Real#0079 became reproducable and fixed.

    New feature: AddIssue and QuickAddIssue is autosaving drafts now with AJAX.

    New feature: Inbound emails with header X-Spambayes-Classification=spam
    is automatically deleted and not uploaded.

    New feature: Option to enforce a different stylesshet
    http://www.issuetrackerproduct.com/Documentation/How-Tos/forced-stylesheet

    Bug fixed: Assigned, Added, followups etc. on the User tab were
    sorted such old ones were shown first in the list. Reversed that.
    (Real#0078)

    New feature: If an error occurs the an error log file is only
    created if the error type is *not* in zope's error_log object
    on Zope2.7. (Real#0077)

    New feature: Which list you want to use is now stored in a cookie
    rather than a session.

- 0.6.8

    Bug fixed: Emails couldn't be sent out if you had converted to
    storing all issues in a BTreeFolder2. So if you were using that,
    this fix will renable email dispatch for probably several unsent
    emails.

    New feature: Mention who added the issue on always notify messages
    (Real#0086)

    Bug fixed: Password reminder for Issue User Folder (Real#0025)

    Bug fixed: The 'subscribers' can no longer be set when
    instanciating the IssueTrackerIssue class. This solves Real#0033.

    New feature: When showing the issue it shows the age next to the
    date it was submitted, like on the List Issues.

- 0.6.7

    Bug fixed: It was not possible to create a Issue User Folder.
    Thanks Jeff for Real#0073.

    Bug fixed: The default sort order is now 'issuedate' and not
    modification date which was not recommended.

    Bug fixed: Who you choose with Tell-a-Friend is no longer
    remembered in a cookie. Can't remember why it was even doing it
    before.

    New feature: It is now possible to change the assignments if
    you're the one it's assigned to (Real#0045)

    Bug fixed: You couldn't use the View permission toggle because of
    a typo caused by legacy code. Thank you Goeldi (Real#0068)

    Bug fixed: Added SendInboundEmailConfirm_script.py back until a
    more grand solution has been found.

- 0.6.6

    New feature: Added firstname filtering as mentioned in Real#0065

    New feature: If subscription option on, when you look at an issue
    that you're already involved in, you do not get the option to
    subscribe since you're already implicitily a subscriber. (Real#0047)

    New feature: Filter settings you make are remembered persistently.
    They are stored with a (hopefully) descriptive english title. You
    can at any time select a previously used filter and apply it again.

    Bug fixed: Successfully telling a friend will no longer show the
    more options form again.

    New feature: Have fixed all source code to consistently use 4
    spaces for tabs. Before there was mix which could cause problems
    for other people except the author who uses jed (which doesn't
    care about the difference)

    New feature: AddIssue now has well defined tabindexes.

    Bug fixed: Finally Real#0014 has been solved thanks to Petter
    Warnsberg of Swede Ltd. It's called the "Holly hack" and we
    managed to reproduce it and see how it started to not blank out
    the followup box.

    New feature: Lists on the User page are now shortened with an option
    to show all.

    New feature: If you assign an issue to someone who is also on the
    'always notify' list it used to send out two emails. One about the
    new issue and one about the assignment. Not it only sends the
    assignment one. (Real#0026)

    New feature: Link to Add Issue on Quick Add Issue takes what you
    started writing with you to Add Issue. Thanks Jan (Real#0054)

    New feature: Printing issues (and consequently CompleteList) now
    looks much better with all the forms and navs hidden.

    Bug fixed: If you use "Tell a Friend with more options" and change
    the default message, the default message was still what was sent.

    Bug fixed: Issue threads and notification objects' ids are now
    incremented sanely. Before it was 1,3,5,7,... now it's 1,2,3,4,...

    New feature: NotYetRecent not in the URL when issue added (Real#0048)

    New feature: "Images in menu" and "Can add new sections" now part of
    the Properties Wizard.

    Bug fixed: If the display format is StructuredText and the text is
    just a number (eg. a telephone number) it *was* converted to a
    numbered list. UPDATE: this introduce a new bug that is now fixed.

    Bug fixed: If you tried to upload an image that doesn't exist it
    would return hard error when it tried to create a thumbnail.

    Bug fixed: New issues weren't saved to the BTreeFolder2 if you had
    set to use one.

    Bug fixed: Fixed the hard ParseError on stopword searches (Real#0024)

    New feature: If you have lots of issues you can now change the issue
    tracker to store all issues in a BTreeFolder2 container instead.
    This changes the URLs but if you accidently use a stale URL it will
    redirect you to the correct new issue URL.

    New feature: Issues are now movable in the ZMI. (Real#0030)

    New feature: Much improved Properties tab that uses web standards
    and Javascript. Degrades perfectly.
    See http://www.issuetrackerproduct.com/News/improved-properties-tab

    Bug fixed: Lots of tidying up of the XHTML to make tidy happier.

    Bug fixed: Fixed bug in relative_url() due to new feature below.

    Bug fixed: Displaying issues without the "Encode email links" option
    on would cause a problem with addhrefs version 0.6
    (Thank you Jan Real#0034)

    New feature: discovery of absolute_url_path() replaces custom
    method.

    New feature: Ids are shown on the *left* of titles now (Real#0032)
    (if you enable showing ids with the title)

    Bug fixed: Email addresses found inside an issue or a followup
    text is also encoded if that option is on.
    (http://www.peterbe.com/plog/add-hrefs-III)

    New feature: Option for Issue Users to enable keyboard shortcuts.

    Bug fixed: Due to a typo in getFilterValue() filters weren't saved
    in the SESSION so if you go anywhere else the filter options were
    forgotten.

    Bug fixed: Filters on lists from the user tab now work. Real#0010

    Bug fixed: Home page looked dodgy with no issues but Recent search
    history. Real#0002

    Bug fixed: Use of builtin False caused bombing out NameError for
    people who use Python2.1. (Also fixed some SyntaxWarnings for
    Python2.1) This fixes Real#0028. Thanks Stephan Goeldi.

- 0.6.5

    Bug fixed: Pressing the Update Everything button twice caused a
    CatalogError because it tried to add certain indexes twice.

- 0.6.4

    Bug fixed: When writing a followup to an issue in the form at the
    bottom of the page and change your mind to use another action the
    text you've written is remembered. (Real#0020)

    New feature: New (advanced) option to show the issue Id next to the
    title of the issue in all displays. (asked for by Brent Skinner)

    New feature: If your search term is an issue id prefixed with a #
    it goes immediately to that issue without searching inside titles
    or descriptions.

    Bug fixed: POP3 management page could say that you need to have a
    folder called 'pop3' when it was not necessary (Real#0023)

    Bug fixed: Menu lost focus on Add Issue when you pressed the Save
    draft button.

    Bug fixed: Some hex encoded characters didn't show up correctly in
    the User template and shortening them went wrong in the Add Issue
    drafts list (if you have one).

    New feature: Previewing a followup or an issue now shows properly
    which people will be notified once it's submitted.

    New feature: User tab now has a list for all issues you are
    subscribed to.

    New feature: Issues and threads are now indexed in the ZCatalog
    with the ZCTextIndex instead to give much better search results
    when searching for issues. It's faster and more advanced.
    (Press the Update Everything button to activate it)

    New feature: Using a search term which is a section, status, type,
    urgency, fromname or email will make a special filter-link appear
    under the search box.

    New feature: _searchCatalog() is now more careful to not fetch
    thread objects that don't exist. (thanks Mark Thomas, Real#0018)

    New feature: Great speed optimization to ListIssues and CompleteList.

    Bug fixed: Resaving the cookie with draft issues now makes sure
    there's no stale drafts in the cookie.

    New feature: Compact and Rich lists in ListIssues. Default is Rich
    which is the good old list but if you click Compact you get a
    compacter list. See bottom of ListIssues page.

    New feature: People who can log in as Issue Users to an IssueTracker
    that is publically available can enable auto-login which means
    they're taken passed the login page when they come back.

    Bug fixed: Cookies expiration is again stored with proper RFC822
    format.

    Bug fixed: Fixed some issues with the tell_a_friend feature
    for issue users where their name wasn't found.

    New feature: Check in SubmitIssue() prevents duplicates. Same
    happens for new followups.

    Bug fixed: Fixed some filtering links from the Statistics page.

    New feature: Now you can specify Issue User Folder usernames
    in the Always notify property too.

    New feature: Added a standard_error_message with user-friendly
    error messages and directions for bug reporting.

- 0.6.3

    Bug fixed: CheckoutableTemplates was made a requirement for
    IssueTrackerProduct to start. Caused broken objects for people
    without CheckoutableTemplates.

    Bug fixed: HTML escaped in displayBriefTitle() used in Recent
    History and Home page but HEX HTML entities preserved.

- 0.6.2

    Bug fixed: Made ValidEmailAddress() return True for foo'bar@some.com

    Bug fixed: Typo in IssueUserFolder made it impossible change
    'must_change_password'.

    Bug fixed: Improvements to feature about new sections (see below)

    Bug fixed: Improved how a Issue User saves display_format

    New feature: New option for making it possible to add new sections
    to an issuetracker when adding a new issue. (feature disabled by
    default. see Properties tab)

    New feature: Implemented a much faster unique() function.

    Bug fixed: sendReturnErrorEmail() had a typo bug. (thanks Bart
    Cortooms)

    Bug fixed: _alwaysNotifyMessage() now gets the title of an issue
    via the getTitle() method.

    Bug fixed: Filtering links from the home page used the wrong
    approach. Instead of showing the selected status it showed
    everything else. Thanks Simon Lucy

    Bug fixed: AcceptingEmail class inherited a whole module, not a
    class. This caused problems with its attributes and methods.

    Bug fixed: If 'slimmer' is installed, the Management, Properties and
    POP3 tabs would turn black. This happened because
    TemplateAdder.py had a bug where the 'optimize' parameter was
    incorrectly remember.

    Bug fixed: generateID() could raise a ValueError in Python2.1 if and
    when the prefix is an empty string.

    New feature: Option to disable XHTML optimization (if being applied)
    with environment variable OPTIMIZE_ISSUETRACKERPRODUCT

    Bug fixed: StandardHeader template could not be checked out even
    though it was defined as a CheckoutableTemplate.

    Bug fixed: Saving listlike properties through the Properties tab
    would not filter duplicates.

    New feature: this_package_home defined in IssueTracker class to
    filter out templates when using showCheckoutableTemplates.

- 0.6.1

    New feature: Installed addhrefs.py version 0.5.

    New feature: Option in Properties tab to make default sort order by
    modification- or by creation date. Also implemented in Properties
    Wizard.

    Bug fixed: Finding one issue when searching did not take the
    searchterm with it so no highlighting.

    Bug fixed: When initiating the ZCatalog, the 'title' TextIndex was
    not attached to the Vocabulary which prevented wildcard searches on
    the title.

    Bug fixed: Previewing follow ups shows who will be notified but if
    someone in that list has left their email blank they are now
    ignored.

    Bug fixed: Statistics could raise an UnboundLocalError in certain
    sitautions.

    Bug fixed: Assigning an issue to oneself does not check the little
    checkbox about notifications that appears.

    New feature: Installed the new addhrefs module
    (see http://www.peterbe.com/plog/add-hrefs-II)

    Bug fixed: Using getRolesInContext(self) instead of getRoles() to
    take extra care for local roles. (Thanks Danny W. Adair, Asterisk Ltd)

    Bug fixed: Quick Add Issue could sometimes ask for Email when you
    are logged in as a Issue User.

    Bug fixed: If you delete an issue user the assignment as shown in
    ShowIssueData will no longer raise an error.

    Bug fixed: UnboundLocalError in dispatcher() caused notifications about
    followups not to be sent out.

    Bug fixed: If you forgot the subject line in a new issue, the REQUEST object
    was not passed back to AddIssueTemplate properly.

    Bug fixed: sendAlwaysNotify() is now wrapped with a nice try:except: catcher

    Bug fixed: Displayformat for Issue Users sometimes forgotten.

    Bug fixed: Switching on Issue Assignment was not backwardcompatible
    with old instances.

    Bug fixed: Was not compatible to Python 2.1 in HighlightQ().

- 0.6.0

    Bug fixed: Assignees get notified with an email if not selected otherwise.

    Bug fixed: It is now possible to specify a notifyable groupname as an
    always notify. Will be very useful for teams that should all get
    notified of an added issue.

    New feature: You can now specify (in Properties tab) the signature to be
    used for the email sendouts.

    New feature: New option in properties makes it possible to have little
    icons to go with the items on the menu bar. See Properties tab.

    New feature: When logged in (standard ACL User or IssueTrackerUser) you
    now get a page with all your related issues and followups.

    New feature: An internal counter keeps track of what numerical increment
    to use when generating the next Id for an issue or a follow up.
    This works like sequences in PostgreSQL and prevents reappearing URLs
    when issues have been deleted.

    New feature: title tag now reflects what page you're on.

    Bug fixed: JPEG file attachments uploaded when using Internet Explorer used
    a non-standard content-type. (Thanks Melvin Jacobson)

    Bug fixed: File attachments that aren't file attachments can not be
    uploaded. Before one could manually write anything in the file attachment
    input box and it would be treated as a file. (Thanks Melvin Jacobson)

    New feature: Much improved information page about StructuredText with
    simple quick examples.

    New feature: Temporarily uploaded file attachments are now stored inside
    the issue tracker instance instead of the global /temp_folder which should
    do away with some low level persistency errors in Zope2.7.x.

    New feature: A button on the Management tab (ZMI) that updates everything
    that deploys standards, updates the ZCatalog, assures all objects have
    the correct attributes and clears temporary uploaded file attachments.

    New feature: A new and improved Properties Wizard.

    New feature: When showing issues, the urgency is explicitly styled if
    anything else than 'normal'. E.g. 'critical' is shown in bold and red.

    New feature: Whenever you add an issue, the selected sections you chose
    become more "popular" since their position in the list of options is moved
    up one notch.

    New feature: File attachments that are images are uploaded now with
    a little thumbnail if PIL is installed.

    New feature: Added a RSS 1.0 feed as the default feed. The 0.91 feed
    can still be reached on /rss-0.91.xml.

    Bug fixed: Certain strictly Management pages weren't secured for Zope
    managers only. Now they are.

    Bug fixed: When you update the catalog manually from the Management tab
    it logged lots of ERROR(200) messages which were not necessary and should
    now not appear anymore.

    New feature: ListIssues changed in layout and now also shows the first
    couple of words from the issue description.

    Bug fixed: Since Zope 2.5.x, when you add a ZCatalog it does not
    automatically create a Vocabulary. Added that to InitZCatalog().

    New feature: Improved the use of Recent history so the page templates
    will now show them without having to create a Batch object. This will
    decrease rendering time.

    New feature: If you search an click a found issue, '?=' is not passed
    in the URL but still works the same. More convenient for copy-and-paste
    URLs without the search argument.

    New feature: All templates are now interfaced as CheckoutableTemplates
    (see http://zope.org/Members/peterbe/CheckoutableTemplates)
    This means that any IssueTrackerProduct instance's templates can easily
    be customized without having to change any sourcecode and makes it
    possible to install upgrades.

    New feature: Almost all occurances of absolute URLs in the generated
    HTML has been replaced by relative ones. This makes the resulting
    HTML slightly smaller in size.

    New feature: ListIssues and CompleteList is now much faster
    if you are not doing a search. It was before doing a search on
    nothing instead of using objectValues(). Great speed improvement.

    New feature: POP3Account now has a configurable port number.

    Bug fixed: POP3 was not working in Zope270 due to a bad class import.

- 0.5.2

    Bug fixed: Added View security on RSS feed.

    Bug fixed: Removed the use of the variable 'yield' since this is now a
    reserved keyword in Python 2.3.x

    New feature: If you're logged in to Zope, your fromname and email
    is stored so that if you loose your cookie but log in the same the
    fromname and email is still there.

    Bug fixed: preParseEmailString() in IssueTrackerUtils() could return None
    when expecting list, now it returns [] in this case. Affected POP3.

    Bug fixed: Email and followup action shown separatly now on
    "5 Latest Issues".

    Bug fixed: Sometimes the "Notify the others" on followup showed
    incorrect results.

    Bug fixed: Subscribers aren't automatically added to all next issues.

    New feature: List Issues now shows what last happened in every
    issue.

    New feature: "5 Latest Issues" shows who posted the last followup.

    New feature: If the submitter is in Always notify, he is not getting
    the Always notify email.

- 0.5.1

    Bug fixed: AddIssue and QuickAddIssue wasn't properly implemented
    with the ClassSecurityInfo() which would cause a "unauthorized"
    error without login prompt if a parent object has the View
    permission switched off.

    Bug fixed: The accesskeys previously implemented didn't work
    properly in Internet Explorer so I took it off until I know
    more about adding accesskeys.

    New feature: Accesskeys to the main tabs. Try for example: ALT + h

    New feature: There is now a 'Show Always notify status' option
    if you want to display which Always notify that have been notified.
    Very useful to the "issue adder" if uncertain who gets to know
    about the added issue. Default is off. See Advanced properties.

    New feature: If you call rss.xml?show=all then it also shows
    threads/follow ups are items with "Followup to:" added to the
    title of the issue.

    Bug fixed: rss.xml did not sort on 'issuedate' but on default
    sortorder which could become confusing.

    Bug fixed: When using your own statuses and the first one is not
    'open', you would get an error when trying to add an issue when
    not running as manager.

    Bug fixed: When creating an issuetracker instance and using the
    Properties Wizard some default boolean values were incorrectly
    saved.

    Bug fixed: Creation of emails was buggy because of spelling
    misstake. It read '\r\b' when it should have been '\r\n'.

    Bug fixed: Dodgy emails wheren't ignored properly. Now they are.

    Bug fixed: "(mail@peterbe.com) bla bla" was converted to:
    "<a href="mailto:(mail@peterbe.com)">(mail@peterbe.com)</a> bla bl"
    but now that is fixed.

- 0.5.0b

    New feature: When viewing an issue, the Add followup etc. buttons
    is only shown at the top. At the bottom is a minial version of
    the Add Followup form.

    New feature: Now statuses are no longer hardcoded.
    See the Properties tab where each line is a state,action combo
    of statuses. Looking at the existing list it should be obvious
    how it works.

    New feature: Download button and the Confidential & Hide me
    options are now by default hidden.

    New feature: JavaScript encoded email hyperlinks. Idea taken from
    http://www.zope.org/Members/jmeile/email%20encoder
    A new property has been introduced for this. See bottom of
    Properties tab. This is **recommended** for public instances.

    New feature: A simple Statistics page. It's linked from the Home
    page if you're logged in as Manager or if you have switched of the
    Private Statistics property.

    New feature: Inbound emails now get a confirmation message sent
    back. This is optional and for it to work you need to redeploy
    standards to get the SendInboundEmailConfirm_script

    Bug fixed: Accepting email objects can not be created if the
    email address is already used as an always-notify to prevent
    notifications becoming inbound email.

    Bug fixed: Dodgy email attachments are now ignored thanks to an
    added try & except statement.

    New feature: When you upgrade the product some new properties
    might have been introduced but not instanciated for. Visit the
    Management tab and see the All properties header.

    New feature: Inbound email via POP3. You can now set up one or
    more POP3 accounts each with one or more email addresses that are
    dedicated to sniff for emails sent to it that is converted to
    issues.
    It depends on the email package from http://mimelib.sourceforge.net/
    and if you want to strip HTML formatted emails you are advised to
    install Strip-o-Gram from http://www.zope.org/Members/chrisw/StripOGram
    For this to work you are expected to set up some sort of cron job
    to periodically check for new email.

    Bug fixed: Lines that start with a URL or an email address turned
    to e.g. c<a href="mailto:opyright@dot.com">opyright@dot.com</a>.
    Now that has been fixed.

    Bug fixed: Removing several groups in the Notifyable groups now
    works. Thank you Wolfgang Reinelt.

    Bug fixed: Adding and removing other properties now work.

    Bug fixed: Open option available when issue already Open.
    (was because it tested if 'Open'=='open')

    New feature: Added createIssueObject() method so that you'll be
    able to create issue objects other than via the web.

    New feature: Added Subscription to issues. See Properties tab to
    enable this.

    Bug fixed: Searching for name or email was before assumed AND,
    but now it assumes OR.

    New feature: File attachements to followups. See Properties tab.

    Bug fixed: Improved getRoot() even more since last bug fix was
    not sufficient.

    Bug fixed: When pressing the Delete button you no longer get a
    Javascript error.

    Bug fixed: Improved getRoot() when using Virtual Hosts

    Bug fixed: When pressing 'Save Changes' in the Properties tab the
    page was returned completely blank. Now it "redirects" back to the
    Properties tab as expected.

    Bug fixed: ShowIssueData and the 'change these attributes' action
    link was misspelled. Now fixed.

    Gave up on the ReportLab module. CompleteList will have to suffice
    for now.

    Bug fixed: UpdateCatalog() now clears the catalog before it
    reindexes all objects.

    New feature: added showURL2Issue() which concatenates too
    long URLs in ShowIssueData.

    Bug fixed: Search highlight does now not mess with tags.
    Try searching for 'strong' or 'p'. Before it looked odd.

    Bug fixed: Latest issues on homepage is now latest issues.
    Before it used cookie sortorders.

- 0.4.9b

    Improved "5 latest issues" to indicate followups.

    Improved wording in batchlinks.

    Improved search results so that it applies sorting based on the
    actual search.

    New feature: Comments searchable. Together with this, see the Management
    tab for the new Update Catalog button which you'll need to press.

- 0.4.9a

    Bug fixed: Searching the catalog with Zope2.6.1b1

    New feature: Added Properties Wizard for when you create an instance.
    Can be reached from the Properties tab too.

    New feature: Added favicon.ico object.

    Improved look of the StandardHeader and standards.css
    This requires redeployment.

    Bug fixed: Always notify crashed if no always_notify.

    New feature: Complete batch alternative "Show them all".

    Bug fixed: filteroptions now stored in session.

    New feature: Hidable filter options.

    New feature: Sortorder settings stored in cookie now.

    New feature: CompleteList page, shows all of issues and their comments.

    Improved addhrefs() to ignore ending brackets, dots, commas and semicolon.

    Improved manage_editIssueTrackerProperties() to use __dict__ instead of exec

    New feature: cache prevent based on a property called 'Stop cache'
    Requires that you redeploy StandardLook.

    Bug fixed: ListIssues now has security settings like it's supposed to have.

    New feature: If you set 'Allow issue attribute change' in Properties
    managers can change the properties of an issue once it's been submitted.
    Thanks Robert Allyn for suggesting this.

    Bug fixed: 'Notify others' option was ignored whilst you're
    previewing a followup.

    Bug fixed: how always_notifys are sent out.
    Thanks Robert Allyn for noticing this.

    New feature: to Management called ReplaceEmail.

- 0.4.8a

    Added HREFs to URLs in text.

    Fixed so that anonymous users could preview followups.

    Bug fixes when UpdateCatalog() has been invoked.

    Made getRecentHistory() careful with deleted issues.

    Fixed some bug where instance variable name_cookiekey was used.

- 0.4.7b

    Removed gif [action]buttons and used CSS instead. (faster loading)

    Added always_notify property so that you can have people that get emails
    silently about all new issues added. This works together with Notifyables.

    Made it possible to search by Issue id. Type in an issue id and it takes
    you there.

    Made emailstring cookies be per instance but fromname and email is across
    all instances.

    Added "Your Recent History" feature. It's "cacheconfusion" is debatable
    still.

    Changed the searching so that when searching the title attributes is
    wrapped with two wildcards on both sides.
    Will now find "This is the title..." when searching for "itl".

    Added preview when adding a followup.

    Fixed bug in "Complete redeployment"

    Now you can Send2Friends from any issue and not only newly added ones.
    (requires you to redeploy SendIssue2Friends_script)

    Added link to document about Structured Text.

    Fixed little bug in SendIssue2Friends_script so it saves email address
    even if emails fail to send.

    Removed lots of redundant code. Especially from IssueTrackerUtils.

    Created the Issue Tracker Notifyable Container folderish object so that
    many instances can share the same notifyables.

    Made notifyable groups a class with 'Issue Tracker Notifyable Group'
    objects instead of just a list property.

    Separated out the notifyables stuff to IssueTrackerNotifyables.py.

    Created IssueTrackerConstants.py module for better software design.

    Usability improvments to Add Issue, Quick Add Issue and Management.

- 0.4.6a

    File attachments feature (see properties to turn it on).

    Nice and cachable URLs now used for sortorder, reverse and batchsizing.
    ListIssues/sortorder-sections/reverse-1/start-12
    ...instead of...
    ListIssues?sortorder=sections&reverse=1&start=12

    Improved AddIssue, QuickAddIssue and AddFollowup so that it sets
    focus in the first field of the input first automatically.
    (requires StandardLook object refreshed)

    Modified generateID() to generate more sensible ids independent
    of their location in space.

    Minor improvements to the dispatcher.html object in standards.

    Fixed the tabs for IssueNotifications.

    Fixed the tabs for IssueThreads.

- 0.4.5b

    Fixed some major bugs for sending out emails. You must now redeploy the
    dispatcher.html object.

    Added search feature. Queried word is highlighted case insensitivly.


- 0.4.4b

    What makes an IssueTracker manager is now stored in 'manager_roles'
    property.

    Emailstrings on new issues for multipmail is now saved in a cookie.
    You need to Redeploy the SendIssue2Friends_script object (i.e. delete
    it and visit the Management tab and press "Deploy and preserve existing")

    Fixed a typo that broke the batching of lots of issues. Twice.

- 0.4.4a

    Added sendEmail() method and changed SendIssue2Friends_script.py correspondingly.

    Added the filter options at the bottom of ListIssues (for evaluation)

- 0.4.3

    Started making the ZClass product a python product
