Version 0.5.0:
-------------

* We now have the full search infrastructure setup.  Channel history, recent
  items, newest items, unread articles.

* We don't always require users to authenticate if

    reptile.system.auth-disabled=true

* Rework the way the website is setup.  All html site docs are under htdocs.
  There is now a /site directory that is created with all resources including
  javadoc.

* We now use Jakarta Commons Collections 'ExtendedProperties' in a number of
  places.

* Fixed a bug which wouldn't allow us to flush the templates cache.  We were
  actually flushing the sequence cache. (the wrong cache)

* We now have the ability to mark *all* subscriptions either read or unread, not
  just specific channels.  

* Reworked the way we execute SQL statements in the build.  This way we support
  multiple SQL files within one <sql> task.

* The MetaUpdate system has been updated.  We now have a dedicate metaupdate
  system and support extensible update mechanisms.

* We now update the Image table with channel images.

* We are not smart enough to provide a DETAILED dump from the StylesheetEngine
  if anything in our XSLT pipe broke.  This is very important for us to have
  when we deploy.  If Reptile breaks on a users machine they can send us the
  error and we can have the ability to debug it.

  An example error looks like:

    --------------------------------------------------------------------------------
    ******************* A StylesheetEngine problem has occured  ********************
    --------------------------------------------------------------------------------

    In StylesheetEngine: org.openprivacy.reptile.xslt.StreamStylesheetEngine
    In sequence: urn:search/channels
    During step: 2
    In stylesheet: resource:/xsl/misc/mozilla/page.xsl
    On line: 660
    On column: 28
    Public ID:
    System ID: 
    With exception classname: org.sax.SAXParserException
    With exception message: invalid UTF-8 character
    XML source is now stored in:  file:///tmp/test.txt

    --------------------------------------------------------------------------------

* Added a submit control to the category selector so that this can be used with
  browsers that don't support javascript

* page.xsl now uses the HTML output method so that we can support HTML 4.01

* We are not using virtual sized fonts instead of pixel sized fonts.  This was a
  problem with brower portability.  Fonts should now look much better on other
  browsers.

* The XML encoding problem has been fixed.  We should now be able to support
  most US and european character sets.  I don't know what we should do about
  this long term.

* Syndic8 OCS feed now works correctly. We also now log if we receive a format
  that we don't support.  Currently reptile has 4700 or so feeds.

* misc html updates, added images for some controls, moved the title from using
  an h1 to using a CSS2 class.

* If you specify '' for you search parameters, Reptile will now display an
  error "you didn't specify a search parameter.  In the past we were executing
  a bad SQL statement here that was causing CPU go to 100%

* Jakarta regexp now included within Reptile.

* Fixed bugzilla bug 74.  It is now possible to save your subscriptions under
  Tomcat 4. 

* If for some reason a control display no content.  The title now includes a
  link to the source.

* We now have an escape extension

  org.openprivacy.reptile.extension.EscapeExtension

  which has an attributes method.  This provides a way of escaping a string so
  that it is capable of becoming an attribute.  Specifically we have to escape "
  and < and >

* Sequence stage dump files are not .xml extensions instead of .dat

* Licensing is now available within Reptile itself.  This also includes all
  other products (Tomcat, Turbine, etc) that Reptile depend on.

* We now register a HypersonicServlet.  This allows you to connect to Reptile
  over HTTP/JDBC.  Basically you just startup a JDBC based admin tool (the Open
  Source Squirrel client is what I would recommend) and connect it to:

    jdbc:hsqldb:http://localhost:8050/reptile/soap/hypersonic

    You can also connect to the following URL to view some basic JDBC stats:

    http://localhost:8050/reptile/soap/hypersonic

    - Note that right now this is open to anyone on the internet and could be
      considered a security hole.  I am going to work with the hsqldb project
      to enable host/ip based security.

* Fixed a bug which causes pages to fail to load under Konqueror and Internet
  Explorer.  Evidently this has been a problem since the last release but no one
  has given me a decent bug report.  Mozilla on Windows has the same problem but
  for some reason Mozilla on Linux doesn't manifest this bug.

* Now using Ant 1.4.1.  

* Refactored stylesheet and sequence support.  Now within a dedicated package
  and modernized.  StylesheetEngine is now an interface with a
  StylesheetEngineFactory implementation.  This is important because now we can
  change the implementation of StylesheetEngine at runtime to support different
  properties and implementations.

  - SAXStylesheetEngine is very fast but also very complicated and can't be
    debugged.

  - DOMStylesheetEngine is fast but wastes memory (because it is DOM).  It can
    be debugged but requires extra overhead to do this.

  - StreamStylesheetEngine is probably the easiest to implement but it the
    slowest of the bunch (XML parser overhead in between stages).  It can NOT be
    debugged without a LOT of work.

  - Here are my notes:

        What package should I put this in?

        org.openprivacy.reptile.xslt

            - this package should contain all XSLT related classes that we
              currently don't use correctly

                - SequenceDispatchEngine should just become SequenceDispatcher

                - StylesheetEngine should become an interface

                - We need a StylesheetEngineFactory which chooses the interface
                  to use.

                - We need an implementation of SAXStylesheetEngine,
                  DOMStylesheetEngine and StreamStylesheetEngine (right now the
                  default should be stream)

                - should StylesheetMap be removed?  not used anymore

                - StylesheetStack should move to the xslt package.

                - SequenceDispatchEntry should move packages.

* Reptile can now startup in debug mode.  This disables all background threads
  and enables JPDA for server debugging on port 2112.

  In order to enable this you need to run (when in the reptile home directory)

  %shell% reptile-ant.sh startup-and-debug

* Reptile now displays less debugging information to stdout

    * removed thread messages
    * removed stylesheet application messages

* Documented system properties that are relevant for Reptile developers in
  htdocs/properties.shtml

* Now using a FULL DateFormat for all timestamps.  This includes the day of the
  week (Monday, Tuesday, etc)

* We now ignore favicons that are 0 bytes in length.

* Ability to see the number of templates in the TemplateCache from settings
  page.

* Reptile webapp is now *reloadable*.  This is a really important change that
  developers should be aware of.  If you recompile reptile and update the
  classes in a running instance, reptile will recognize this and reload all
  classes.  This allows you to change code on the fly and test things out again.

  This allows you to update code, recompile and test it right away.  No Reptile
  startup is incurred and your session is preserved.

  Note that all singletons will be reset so any cache information will be lost.
  Also any background threads will now be stopped due to the fact that the
  ClassLoader that they were loaded from is now invalid.
  
* All RSS items now have favicons.

* All RSS items now have timestamps.  

* Running on non-standard Tomcat control port so that two versions of Tomcat can
  run on the same machine.

* Our Tomcat bundle no longer contains the Apache HTTPD connector (not needed in
  standalone mode, having the port open was just a security hole).

* HISTORY file now included in Reptile distribution.

* The urn:quick-channel/channel-list sequence is now deprecated.  This sequence
  was using XML and was too slow for any practical use.

* Now using database indexes on all tables (where appropriate).  This provides
  faster speed when performing complex DB queries.

* New action (org.openprivacy.reptile.actions.ToggleSystemProperty) provides the
  ability to changes a Java system property from true to false and vice-versa.

* Sequence debug system is now disabled by default

* The old marks system is now totally obsolete.  We support marks inline for
  faster access and a better OO design

* It is now possible to run the Hypersonic Database Manager after Reptile is
  shutdown.  In order to do this change to the REPTILE distribution directory
  and type 'reptile-ant.sh database-manager'

* .bat files are now included for Windows machines.

* fixed a bug with hard coded table names in Peer classes.  We now the *Peer
  member so that if this changes the class won't compile.

* OCS Feed integration mechanism moved to a dedicated packages
    (org.openprivacy.reptile.feeds)

* Refactored the CONTENT table into an ARTICLE table and changed extensions to
  match this.

* SQL/OM Table naming pattern is now non-plural(singular).  This makes the API
  much more usable.

* Reptile now uses Tomcat 4.0.1

* The ability to search among articles within your subscribed channels. 

* Ability to delete a channel from your subscriptions.  

* Page layers/index is now controlled via a <select> control instead of the old
  tab metaphor which caused problems with a large number of layers/indexes.

