Changes:  
  
ver. 0.1.0 to 0.1.1  
  
   -- added code to handle both old and new versions of TinyTable product  
   -- modified credits.txt  
  
ver. 0.1.1 to 0.1.2  
   -- modified manage_delete call to conform to Python 1.5.2 syntax  
   -- fixed bug for disappearing subject text editing for plain vanilla version  
   -- changed from DOS line ends (CRLF) to Unix style line ends (LF) 
   -- changed reading of text file to prevent infinite loops 
   -- changed product packaging from zip file to tar.gz 
   -- development proc modified; shifted from RCS to CVS 
   -- fixed bug on file attachment 
 
ver 0.1.2 to 0.1.3 
   -- changed input tinytable data format (*.tbl) in /demo/newtables to fix authorization required bug 
      coming from TinyTable product 
   -- took out duplicate definition of site_url method from Posting class. 
   -- updated message*.txt to current info, as well as minor stylistic corrections 
 
ver 0.1.3 to 0.1.4 
   -- changed defn of site_url, copying code from Confera for Squishsite class's site_url method defn 
      and added different method defn for Posting class site_url -- computed from REQUEST[URL] which 
      I'm assuming is computed correctly even under PCGI. This change is being done to fix 
      a bug in computing site_url when Squishdot is run under an Apache-PCGI configuration. 
 
ver 0.1.4 to 0.1.5 
   -- changed self.subjects from a built-in map ({}) to a PersistentMapping to fix 
      weird storage behavior (with subjects disappearing) under ZODB3 
 
ver 0.1.5 to 0.3.0 
 
   -- added new Squishdot logo and Zope logo to the footer of the fancy demo/simple demo screens. 
   -- modified form input variables to html-quote so weird chars are redisplayed correctly 
   -- modified href and src variable to url-quote so they can handle weird url links 
   -- added a preview button. 
   -- fixed mailhost selection so that blank is an option. 
   -- error screen is now customizable. 
   -- message screen is now customizable. 
   -- edit posting screen now returns previous input coming back from error screen 
   -- fixed "regex" incompatibility with Zope2 
   -- added striptags function for stripping invalid chars for RSS/RDF 
   -- add RSS/RDF channel page 
   -- validation of article/comments are now customizable  
   -- added new rss_ properties  -- rss_title, rss_description, rss_image_url for data needed in RSS/RDF channel 
   -- added a new property to control how many previous days of articles are shown in Older Links squishbox 
   -- fixed permission list for manage_postings to list postings/subjects list -- but see known bugs 
   -- fixed mail html removing the first blank line 
   -- removed the dtml file Squishdot_manage_main.dtml -- not used 
   -- attachment file now displays for plain-vanilla mode article posting 
   -- fixed advertising image display banner so it sets a fixed image url -- and url now points to squishdot.org 
   -- fixed site_title so it nows sets a fixed image url (not relative to posting's url) 
   -- added new links to technocrat, gnotices, squishdot in quicklinks squishbox 
   -- added links to static download page and documentation page in squishdot website 
   -- fixed inserted spaces problem when editing posted articles/replies 
   -- removed expire_time from list of predefined properties (demo mode only) -- not used 
   -- converted dtml tags to new format (i.e from <!--#xxx to <dtml-xxx ) 
   -- added an about, readme, license, credits, version and changes page
   -- converted all image file names from xxx.gif to xxx_img 
   -- added code to force all images inserted at creation time to have content type 'image/gif'
   -- modified body_len to make it return a numeric value if an additional divisor parameter is passed
   -- modified date_posted to make it return different formats if an additional format string was passed

ver 0.3.1

   -- fixed rdf_rss page missing quote (reported by Luke Tymoski)
   -- fixed invalid header bug (reported by John Hendow)
   -- reverted back to prev. version for mail_posting_html -- wouldnt work without blank first line
   -- modified date_posted to allow for variable date formats returned (c/o Lalo Martins)
   -- modified site_header to call misc_methods.advertising correctly, passing base_url instead 
      of site_url -- this was causing a transaction update everytime pages were accessed 
      (demo mode only) (reported by Pavlos Christoforou)
   -- modified SquishSite site_url method (moved code from Posting site_url method)
      to fix bug where site_url is incorrect if called from folders below Squishdot folder
    
ver 0.3.2

   -- added back Squishdot_editForm.dtml (got lost due to a CVS setup screwup)

ver 0.3.3a1

   -- fixed SquishPosting ac_permissions so that moderators no longer need to
      have a "manager" role in order to approve articles -- they only need the
      manage postings privilege
 
ver 0.3.4

   -- fixed dynamic dates in rightbox_methods that were broken in 0.3.3a1
   -- removed path from suggestion cookies to enable them to work in conjunction with the SiteAccess 
      product
   -- gifs and zips in CVS were turned into binary files to stop corruption during CVS checkout.

ver 0.4.0
   
   -- __init__.py re-implemented using the Zope 2 API
   -- added 'view' tab to management screens.
   -- move 'about' out of Squishdot.py into about.dtml
   -- removed redundant SquishItem and SquishSet classes.
   
   -- changed indexing to be ZCatalog-based. This means you get a 'Cataloged Objects' tab.

   -- fixed mail_html in the fancy demos so it sends out correctly formatted MIME.
   -- changed mail_html in the plain demo so it doesn't use MIME.

ver 0.4.1

   -- The namespace and client are now passed to showMessage and showError to things like site_header and site_footer may be used.
   -- A minor bug in the 'Plain' demo's addPostingForm was fixed. (reported by Paul Browning)
   -- 'body'is no longer a required search argument, a bug introduced in 0.4.0. (reported by Kai-Oli Tiffany)
   -- SquishSet and SquishItem re-instated :S (They're needed for the ZSearchable Interface)
   -- A new and more useful mail_html has been included in the 'Plain' demo.
   -- Security has been tightened and a new set of roles introduced.
   -- A message saying that a Mail Host is required for mail notification is included on certain forms. (suggested by Paul Browning)
   
ver 0.5.0

   -- Adding support for postings to be formatted as Plain Text, HTML or Structured text.
   -- Enabled preview when editing postings through the management interface. 
   -- Fixed KeyError for site_header in Plain demo.
   -- Fixed another bug introduced in 0.4.0 that prevented Squishdot working with the ZSearchable Interface.
   -- Made Squishdot behave more like a ZCatalog in the way you can search it.
   -- Fixed a missing ',' that was causing the 'managemanage_editForm bug'.
   -- Fixed problem with Path on cookies that meant you had to enter name and email address at each level in the folder structure.
   -- Fixed nasty bug in the CRLF regular expression that meant lines were (and in old articles, still are) containing \r's. 
      That really confused the structured text renderer ;-)

ver 0.6.0

   -- Integrated Bruce Perens' Batch Moderation patch and made some of its functionality available on the Postings page.
   -- The administrator can now be optionally emailed when news articles and/or postings arrive.
   -- Some improvements in presentation in the management interface screens.

ver 0.7.0

   -- Changes to the Demo Sites and Squishdot core to make them Zope 2.2 compatible.
   -- Updated Cataloging to use the Traversal Interface. This means 0.7.0 will not work with versions of Zope earlier than 2.2.0!
   -- Added in some html_quoting. The Demo Sites could do with a lot more...
   -- Some small changes to the management screens.

ver 0.7.1

   -- Slightly updated roadmap.
   -- Fixed bug that prevented deleting postings.

ver 0.7.2

   -- Made Squishdot work with INSTANCE_HOME Zope installations.

ver 0.7.3

   -- Removed bad url quoting of email addresses in some of the fancy demo pages.
   -- Fixed TinyTable detection that got broken in 0.7.2.
   -- Fixed problems with moderated Squishdot sites and searching.
   -- Fixed the behaviour of Squishdot's ZCatalog when Squishdot Sites were moved, copied or renamed.
   -- Updated copyright in about.dtml
   -- Updated roadmap.

ver 0.8.0

   -- Made Squishdot work with TinyTable or TunyTablePlus. Also made Tinytables work in 2.3.0.
   -- Fixed KeyError problem with Re-Catalog All Postings button. 
   -- Reversed the order of postings on the postings tab and other small changes to make the Postings
      view more useful

ver 1.0.0

   -- Added Updaters to handle fixing old Squish Site instances.
   -- HTML postings are parsed to remove harmful tags. Unclosed tags are closed.
   -- Reimplemented email notifications. No HTML mail is now sent. 
      HTML in postings is converted to text before being mailed out.
   -- Fixed a design problem with threading (this requries an updater to be run ;-).
   -- Fixed wierdness in Plain Demo addPostingForm which included the original posting's subject in all replies.
   -- Fixed the problem that someone with only Moderate Postings permissions couldn't acutally edit postings.
   -- Fixed reply count problem when postings were deleted.
   -- Made moderation stuff show if there are postings that require moderaion, not if we're in moderated mode. 
      The two are not necessarily the same
   -- Added the ability for moderators to add, delete and modfy attachments to postings.
   -- Removed unneccessary exception catching in __init__.py
   -- Split the monolithic Squishdot.py file into several small, more usefuly files.

ver 1.1.0

   -- Search results calculation has been re-implemented and should be much more efficient now.
   -- Updated some information in one of the sample postings.
   -- Posting previews now also use the HTML parser.
   -- HTML parsing now doen using the Strip-o-Gram library.
   -- Mail notification has been improved. In addition, the site administrator will be mailed if notification fails.
   -- Postings now have a 'date' method which returns a DateTime object of their creation date and time.
      This is really handy for indexing and sorting.
   -- Properties are now deletable letting you share a set of properties between several Squishdot Sites. 
   -- The moderation tab now renders postings in their correct format.
   -- The date_created, time_created and time_modified methods have been deprecated.
   -- Squishdot now uses the new Zope 2.3.2 BTrees
   -- The Updaters have been modified to use the UpdateSupport product.

ver 1.2.0

   -- Strip-O-Gram now uses a much better HTML Parser.
   -- Strip-O-Gram no longer allows you to sneak tags through using cunning means.
   -- Fixed a bug in where the preview code picked up the encoding type from.
   -- Fixed a bug in the posting deletion code that re-calculated posting counts incorrectly.
      This meant that some postings which hadn't been deleted weren't showing up.

ver 1.2.1

   -- Fixed stupid typo in Article.py.
   -- Brought back the Undo tab for Squishdot Sites.
   -- Removed some silly url quoting code from index_html in the demo sites.

ver 1.3.0

   -- Updated Licensing to be clear, consise and present in all files.
   -- Removed deprecated usage of SCRIPT_NAME from demo sites.
   -- Moved to new security spellings.
   -- Fixed the inability to change the subject of postings.
   -- Fixed bug when submitting incomplete postings.
   -- Made compatible with Zope 2.4.x
   -- Fixed mail notification template.
   -- Made Postings implement the Traversal interface.
   -- Squishfile now subclasses Zope's File object solving a few issues.
   -- Enabled Squishdot to work with the Refresh product.
   -- Fixed Strip-O-Gram bug that caused weirdness when & appeared on its own in postings.
   -- Error emails are no longer sent, people should use the MailingLogger product from Zope.org
   -- The render method is now replaceable by added an object called 'render' into the Squishdot Site object.
   -- Added a fairly complete PyUnit Test Suite.
   -- merged validateArticle and validateComment into a single validatePosting method.   

ver 1.4.0

   -- Fixed cancelNotification URL in mail_html. Also fixed broken tests that should have caught it.
   -- Posting's desc_items method now filters on reviewed status.
   -- Optimisation of indexing during addition of postings.
   -- Fixed a very bad indexing bug involving incorrect Acquisition wrapping. This also made
      moderaton break completely.
   -- Fixed bug in plain demo previewPosting method.
   -- Moved to Strip-o-Gram 1.1.
   -- Adapted to Structured Text's desire to suddenly change API.
   -- Fixed bug when manage_edit is called non-TTW.   
   -- Fixed bug that prevented replies being deleted.
   -- Fixed various small bugs.
   -- Removed unused desc_items method of SquishSite enabling the removal of redundant Stack class.
   -- Fixed bug that meant 'None' was returned when messages were successfully posted.
   -- Fixed incorrect incrementation of reply counts when people attempted add postings with
      missing fields.

ver 1.4.1

   -- Added the ability to delete postings by specifying their id on the moderation page.
   -- Slight improvement in efficiency of previewForm for 'plain' sites.
   -- Approving Articles or Postings using their edit form was fixed.
   -- Fixed a bug preventing attachments from being downloaded from Article or Posting edit forms.
   -- Added the ability to reverse approval of a Posting or Article using its edit form.
   -- Some tests were made more robust so they ran cross platform and from various locations.
   -- Updaters were changed so they are named as described in the README.TXT of the UpdateSupport product.

ver 1.5.0

   -- Added the ability to edit the date of posting on the posting edit form.
   -- Update the posting's 'modified' attribute when postings are editted.
   -- Use BTrees.IIBTree.IISet instead of the deprecated intSet.intSet.
   -- Fixed problems with indexes and metadata for Zope 2.6.0.
   -- Added 'date' as metadata by default.
   -- Fixed handling of reply counts and moderated counts when un-approving postings.
   -- Moved to Strip-o-Gram 1.4.
   -- Better documentation and some renaming in updaters.


   KNOWN BUGS: 
 
   -- the demo sites don't html-quote several fields which really should be.

   -- Clicking the Import/Export button within a Squishdot site won't let you do anything useful.