***************************************************************************
  Since "itools 0.14.0" we don't maintain the CHANGES file anymore.
  Refer to the RELEASE and UPGRADE files instead.
***************************************************************************



0.13.10 (2006/12/22)

  HTTP
  - Fix load of request objects from strings or files.

  Web
  - Close connections on error.
  - Remove the module "zope2" (not required anymore by Localizer).

  CMS
  - browse_image: do not force at 128 images smaller than 128 (#416).
  - Fix highlighting the tab when changing subtab (#308).


0.13.9 (2006/07/25)

  URI
  - Fix the mailto scheme, return always a Mailto object, by Hervé Cauwelier
    [#421].

  CSV
  - Fix deleting rows, by Hervé Cauwelier [#423].
  - Fix index initialization, by Hervé Cauwelier [#339].

  Web
  - More robust code to load requests.
  - Change a little the error log format, add the date.

  CMS
  - Now views can have a URI query, by Hervé Cauwelier [#308].
  - Update access control declarations, by Hervé Cauwelier [#446].


0.13.8 (2006/07/14)

  HTTP
  - New package "itools.http", split from "itools.web".

  Web
  - Load requests and send responses in non-blocking mode.
  - Use "poll" instead of "select" to detect changes in sockets.

  CMS
  - Style fixes for the HTML editor, by Hervé Cauwelier [#138].
  - Split account and password forms in two subtabs, by Hervé Cauwelier [#344]
  - New handler for video files, to view them inline.


0.13.7 (2006/07/03)

  Catalog
  - Fix the "prof.py" script.

  CSV
  - Improved Index & Search API, by Hervé Cauwelier [#339].

  Web
  - Fix the access log, flush the buffer on every line.
  - Support a non-standard HTTP Date format used by some browsers:
    '%A, %d %b %Y %H:%M:%S GMT'.

  CMS
  - Internationalize Epoz, by Hervé Cauwelier [#345].
  - Fix Epoz for IE, by Hervé Cauwelier [#390].


0.13.6 (2006/06/26)

  URI
  - Add the method "replace" to uri objects (this makes the method
    "Request.build_url" from itools.web obsolete).

  Datatypes
  - Add a datatype for decimal numbers, by Hervé Cauwelier [#330].

  Handlers
  - Revert the lazy load patch.

  CSV
  - Now "get_rows" is a generator, by Hervé Cauwelier [#312].

  iCalendar
  - Various API improvements, by Nicolas Deram [#246].

  STL
  - Now "stl:content" coerces floats and decimals to strings, by
    Hervé Cauwelier [#331].

  Web
  - Improve error logging, print the whole request headers.
  - Don't fail when the "Cookie" header is present with an empty value.

  CMS
  - Now locks expire in one hour, by Hervé Cauwelier [#250].
  - Handler for Restructured Text files, by Hervé Cauwelier [#68].
  - Minor user interface improvements, by Hervé Cauwelier [#324, #334, #340].


0.13.5 (2006/06/06)

  Handlers
  - Lazy load for binary files and images, by Hervé Cauwelier [#98].
  - Fixes for archive handlers (ZIP, TAR), by Hervé Cauwelier [#127].

  CSV
  - Fix serialization, escape double quotes.
  - Now the method "get_rows" always returns a copy of the rows, by Nicolas
    Deram.

  CMS
  Minor features and important fixes:
  - Fix database sync.
  - Fix remove when there are virtual handlers.
  - Improved "browse image" view, by Hervé Cauwelier [#328].
  Minor fixes and other changes:
  - More robust Enumerate class, by Hervé Cauwelier [#304].
  - Use CSS classes instead of ids to define the Epoz style, by Hervé
    Cauwelier [#317].
  - Fix edit user's account, password is optional, by Hervé Cauwelier [#321].
  - Fix the title of HTML pages when in a subsite, by Hervé Cauwelier [#322].
  - Add "del_property" to the handler's API, by Hervé Cauwelier [#327].
  - Complete Enumerate's API with "get_value(name)" method, by Hervé
    Cauwelier [#329].


0.13.4 (2006/05/19)

  Handlers
  - New handlers for archive files (TAR, ZIP), by Hervé Cauwelier [#127].

  Web
  - Now the server listens to all addresses by default.

  CMS
  Minor features and important fixes:
  - More robust logic to synchronize the backup database.
  - Crypt the password in the auth cookie.
  - Now it is possible to define the IP address the server listens to
    through the parameter address of the config file. By Hervé Cauwelier
    [#270].
  - Support for archive files (TAR, ZIP), by Hervé Cauwelier [#127].
  - New module "future.py" keeps experimental stuff, by Hervé Cauwelier
    [#110, #305].
  Minor fixes:
  - Fix indexing of (X)HTML documents, by Hervé Cauwelier [#228].
  - Fix call to "comeback" in "Folder.rename", by Hervé Cauwelier [#253].
  - Update security declarations, by Hervé Cauwelier [#286].
  - Updated french translation, by Nicolas Deram [#303].
  - Refactor office document conversion, by Hervé Cauwelier [#306].
  - Fix edit of (X)HTML documents when the body has attributes [#307].
  - Allow subviews with query parameters, by Nicolas Deram [#308].
  - In the user's tasks view, only show documents that the user is
    allowed to view [#311], by Hervé Cauwelier.


0.13.3 (2006/04/24)

  CSV
  - Be strict when parsing CSV files (check all lines have the same number
    of columns), by Piotr Macuk. [#263]

  Catalog
  - New format, much more compact.

  CMS
  - Speed-up write operations.
  - Add datatype "Enumerate", by Hervé Cauwelier. [#304]
  - Update the French translation, by Hervé Cauwelier. [#303]


0.13.2 (2006/04/18)

  Handlers
  - Remove obsolete module "Python.py" (#297).

  CSV
  - Fix "add_row" when the schema is defined, by Hervé Cauwelier (#296).

  Catalog
  - Now the text analyser accepts numbers.

  Packaging
  - Implement "get_version" to help other packages to define __version__.

  Web
  - Now canonical URLs never end with a slash (#294).

  CMS
  - Several fixes related to virtual hosting.
  - Now "icms-start" refuses to start the server if the instance is not
    up-to-date (#301).
  - Speed-up "icms-init" and "icms-update".


0.13.1 (2006/04/08)

  Catalog
  - Allow indexing tuples of keywords, by Hervé Cauwelier. [#285]

  Web
  - In virtual hosting, fix "context.uri" when the URL path ends with a
    slash.

  CMS
  - Correctly initialize the catalog when creating a new itools.cms instance.
  - Correctly index the modification time. [#290]
  - Use the title of the workflow state (instead of its name), in the
    state form, by Hervé Cauwelier. [#273]
  - Fix several icons, by Hervé Cauwelier.
  - Fix the accout form so field completion works, by Hervé Cauwelier. [#288]
  - Close standard input, output and error when the server is started in
    normal mode (not debugging), by Hervé Cauwelier.
  - Now icms-start checks the server is not already running, and icms-stop
    checks the server is running. [#293]

  Packaging
  - Fix typo in "setup.py".
  - Make isetup-build more robust when trying to figure out the version
    number, by Hervé Cauwelier. [#292]


0.13.0 (2006/03/21)

  Internationalization
  - Overhaul programming interface for "itools.i18n.fuzzy". Now made
    of the functions: get_distance, get_similarity, is_similar and
    get_most_similar. Drop support for abbreviations (for now).

  Resources
  - Implement "tell" in file resources.

  Handlers
  - New handler class "itools.handlers.config.Config", to manage Unix-like
    configuration files.

  HTML
  - Now HTML documents always have a root element, like XML documents
    (#153, not finished).

  STL
  - Several fixes for "stl:attributes", including #268.

  CMS
  (Note: Instances must be updated with "icms.py update")
  - Keep the resources directly in the filesystem, drop the ZODB.
  - Move users password and email to the metadata (#160).
  - New configuration variable "modules" allows to load multiple Python
    modules on start-up (obsoletes the variable "root").
  - Several fixes (including #255, #266, #272) and user interface
    improvements.

  Coding style
  - Normalize some filenames (lowercase), packages affected: "catalog",
    "xml" and "cms" (#154, not finished).

  Command Line Interface
  - Split the "icms.py" script into: icms-init, icms-start, icms-stop,
    icms-update and icms-restore.
  - Split "igettext.py" into: igettext-extract, igettext-merge and
    igettext-build.
  - Add the option "-w/--password" to icms-init.
  - New script "isetup-update-locale", used to extract translatable
    messages from the source files, and to update the message catalogs
    (PO files) in the locale directory.
  - New script "isetup-build", automatizes the build process (replaces
    the Makefile).
  - New script "isetup-test", to run all tests in one shot.

  Packaging
  - Move STL to its own package, "itools.stl".
  - Move the locale folder from the "cms" sub-package to the root.
  - Add configuration file "setup.conf", it is intended to centralize the
    package metadata and other information required to build and install
    "itools".
  - Drop the files "MANIFEST.in" and "Makefile", don't needed with the
    new build process.
  - Now the file "version.txt" is automatically generated, drop from the
    archive.
  - Centralize all unit tests in the new folder "test". Update many of
    them.

  Licensing
  - Switch to the GPL.


0.12.5 (2006/03/09)

  URI
  - Unquote escaped characters when decoding a url.

  Handlers
  - Fix virtual handlers (#158).

  CSV
  - Now access by attribute works on rows, e.g. "row.<name>", where name
    is the column name (of course only works when the schema is defined).

  XHTML
  - Fix "get_content_as_html" when there are non-ascii characters in text
    nodes, by encoding them.

  Web
  - Now the request handler keeps the whole request uri (not only the path),
    this is: "request.uri" instead of "request.path".
  - For virtual hosting, use the request header "X-Base-Path" instead of
    the query variable REAL_PATH. So rewrite rules must be updated (in
    Apache this is done with the "RequestHeader set X-Base-Path <value>"
    line).

  CMS
  - Remove consistency check in "Group.get_usernames" (it was an scalability
    bottleneck). Instead add a view in the user interface to check and fix
    groups with users that don't exist anymore.

  Packaging
  - Provide "itools.__version__" (replaces "itools.__git_revision__").
  - Drop the Changelog file.


0.12.4 (2006/02/17)

  Handlers
  - Now the transacion code follows the open/close protocol of resources.

  Catalog
  - Now the index load code follows the open/close protocol of resources.

  Web
  - Add a global "try..except" clause to catch any error that may reach
    the main loop, so the server never stops.
  - Return "400 Bad Request" whenever the parsing of the request fails.
  - Ignore parameters added to the If-Modified-Since header. Since some
    some browsers do append extra-information (what does not respects the
    RFC).
  - Fix HEAD requests, call GET first, then send only the headers.

  CMS
  - Remove a debugging line that slipped in the previous release.
  - Fix the Epoz editor (a couple of files were missing).


0.12.3 (2006/02/02)

  Resources
  - Add "tell" to the API of file resources (only implemented by memory
    resources for now). [#151]

  Web
  - Improved stability for the web server. We catch unexpected exceptions
    in a couple of places more, and send an "Internal Server Error" response
    to the browser; instead of crashing the server.

  Scripts
  - Add "igraph" to the collection of scripts; it draws a class diagram
    with the inheritance hierarchy. By Luis Belmar-Letelier [#219]


0.12.2 (2006/01/23)

  Web
  - Fix the request methods "get_content_type", "get_referrer",
    "get_accept_language" and "set_cookie".
  - Now the server is asynchronous, single-thread.

  CMS (a.k.a. ikaaro)
  - Now "Folder.search_handlers" accepts optional parameter "handler_class",
    to filter objects that are instance of the given handler class. By
    Hervé Cauwelier.
  - Now it is possible to better control the behaviour of the method
    "Folder.browse_namespace" with the help of a few new optional parameters:
    "sortorder", "batchstart", "batchsize" and "results". By Hervé Cauwelier.
  - Minor style improvements, by Hervé Cauwelier.
  - Fixes to make "itools.cms" to work on Zope again, by Hervé Cauwelier.


0.12.1 (2005/12/27)

  Web
  - Message headers are case-insensitive.
  - Implement the parameter HTTP-Date as of specified in the RFC.
  - Fix the format of the "Date" header in the response.
  - Implement the headers "Last-Modified" and "If-Modified-Since".
  - Fix the HEAD method: don't return any entity, only the headers.

  CMS (a.k.a. ikaaro)
  - Fix metadata serialization for the workflow transitions.
  - Fix external edit, the lock/unlock operations were not persistent.


0.12.0 (2005/12/19)

  Resources
  - Implement support for ZODB resources (itools.resources.zodb).
  - More file-like API. New methods "open", "close", "is_open", "truncate",
    "readline", "readlines", "seek".

  Catalog
  - More powerful "And/Or" queries, accept more than two parameters.

  CSV
  - New package "itools.csv" provides a higher level API to work with CSV
    files, by Piotr Macuk.

  CMS (a.k.a. ikaaro)
  - The ikaaro CMS before distributed as a Zope product has been moved
    to itools as the new package "itools.cms".
  - Don't requires Zope anymore, works with "itools.web.server".
  - Integrate the epoz richt text editor into "itools.cms".
  - New main skin Aruni, by Hervé Cauwelier.
  - Many user interface inprovements by Hervé Cauwelier.
  - Updated the french translation, by Hervé Cauwelier.

  Scripts
  - New script "icms.py" for easy deployment of "itools.cms".

  Packaging
  - Move the documentation to a different package "itools-docs".


0.11.0 (2005/10/30)

  URI
  - Add "resolve2" to the URI API (just uses "Path.resolve2" instead of
    "Path.resolve").
  - Fix path comparison (#30).
  - Many more unit tests (#30). By Hervé Cauwelier.

  Schemas
  - Improve programming interface: register_schema, get_schema,
    get_schema_by_uri, get_datatype and get_datatype_by_uri.

  Resources
  - New method "traverse2" (a more powerful version of "traverse").
  - Implement "is_locked" for Zope 2 resources. By Hervé Cauwelier.

  Handlers
  - Drop "to_unicode" from the API, now it is only 'to_str'.

  XML
  - New parser, a little faster and a little simpler (#52).

  STL
  - Improve API, now it is "stl(handler, namespace)".
  - Returns a byte string instead of a unicode string.

  XHTML
  - Add function "set_template_prefix" to the API, it modifies relative
    links (useful for example to move a document from one place on a
    tree to another).

  HTML
  - Update parser to be in sync with the XML parser.

  Catalog
  - Now it does not check for callable fields.
  - Keyword fields correctly index frozenset objects.

  Web
  - Use HTTP_X_FORWARDED_HOST (instead of our own REAL_HOST).
  - Deserialize and serialize cookies (uses itools.schemas).
  - Add "context.redirect" to the API. To be used instead of the lower
    level "response.redirect". It makes sure redirects are absolute (#62).
  - Add "context.has_cookie" to the API.
  - Fix PUT, LOCK and UNLOCK for Zope 2.
  - Add the response header fields 'Date', 'Connection' and 'Server'.

  Documentation
  - Update chapter about STL.

  Packaging
  - New "setup.py" script optimized for Python 2.4 (#105). By Hervé
    Cauwelier.


0.10.0 (2005/08/08)

  Now Python 2.4 is required.

  Data Types
  - The module "itools.types" has been renamed to "itools.datatypes", and
    features a better programming interface. By David Ibáńez.

  Schemas
  - New module "itools.schemas" provides a registry of schemas (collections
    of data-types), a feature that has been moved from "itools.xml.namespaces".
    By David Ibáńez.

  Resources
  - Now Zope 2 resources use "bobobase_modification_time". By David Ibáńez.

  Catalog
  - Implement range search. By David Ibáńez.

  Simple Template Language
  - New keyword "none" in STL expressions (#71). By Hervé Cauwelier.
  - Omit the STL namespace declaration after processing (#81). By Hervé
    Cauwelier.

  iCalendar
  - Added support for RFC 2445 (itools.ical). By Nicolas Deram.

  RSS
  - Added support for RSS 2.0 (itools.rss). By Piotr Macuk.

  TMX
  - Added support for the "Translation Memory eXchange" file format
    (itools.tmx). By Nicolas Oyez.

  XLIFF
  - Added support for the "XML Localisation Interchange File Format"
    (itools.xliff). By Nicolas Oyez.

  Web
  - New package "itools.web" provides high level API to build web
    applications. Proof-of-concept implementations for CGI and
    standalone server. Obsoleted package "itools.zope" removed.
    By David Ibáńez.

  Packaging
  - Improving unit tests. By Hervé Cauwelier.


0.9.5 (2006/12/13)

 Bugs fixed
 - Fix encoding detection in PO files (found by Josef Meile).


0.9.4 (2005/12/08)

  URI
  - Add the scheme "mailto" to the the "Mailto".

  Resources
  - Fix resources for Windows.
  - New method "traverse2" to folder resources.

  Handlers
  - Fix FileName to detect extensions in uppercase.
  - Fix "copy_handler" (and speed-up).


0.9.3 (2005/08/02)

  Minor features
  - Now STL expression names accept the character ":".
  - Implement "has_handler" for files.

  Bugs fixed
  - Fix "get_abspath" for Windows.
  - Fix catalog un-indexing.
  - Fix catalog search when there are objects that have been indexed recently
    (the changes have not been saved yet).
  - Fix the translate method of XHTML documents when there are empty elements.
  - Fix parsing of HTML documents (complete the list of boolean attributes
    and omit entity references that can not be represented on the source
    encoding).


0.9.2 (2005/06/24)

  Several XML fixes, including bug #65


0.9.1 (2005/06/16)

  Bugs fixed
  - Fix xhtml serialization.
  - Fix gettext and the PO handler.


0.9.0 (2005/06/07)

  Type marshalers
  - New package "itools.types", includes the old module "itools.handlers.IO".
  - Add marshaler for filenames.

  Resources
  - Replace "get_data" by "read", and "set_data" by "write".

  Handlers
  - Split new class "Node" from the "Handler" class.
  - Now virtual handlers are distinct from the real handler (#22).
  - Now folder's skeleton is a dictionary instead of a list, by Hervé
    Cauwelier.
  - Rename "load" and "save" to "load_state" and "save_state" respectively.
  - Move handler's state to instance variable "state".
  - Add "class_extension" to keep the default file type extension.
  - Now file handlers have too the "get_handler" method.
  - Add "set_data" to file handlers.
  - New handler for images.
  - New handler for Python resources.

  Gettext
  - New package "itools.gettext" contains the PO and MO handlers before found
    in "itools.handlers".
  - Add support for fuzzy entries to PO files, by Nicolas Oyez.
  - Now "igettext" does not takes into account fuzzy messages, by Nicolas
    Oyez.
  - Add module "itools.gettext.domains", provides an API to internationalize
    software.

  XML
  - Move "XHTML.Document.to_text" to "XML.Document".
  - Add "Element.get_content"
  - Change naming style for some methods: "get_start_tag" and "get_end_tag".

  XHTML
  - Now XHTML elements can be serialized as HTML.

  Simple Template Language
  - Now "stl:content" accepts long integer values.

  Catalog
  - Use built-in set type (Python 2.4)
  - Keep document positions, index format changed.
  - Add phrase search.
  - Index common and one letter words.

  Documentation
  - Update the introduction chapter.
  - Document the handler's state.
  - Add a chapter about "itools.types".
  - Re-work the internationalization chapter.
  - Fix the examples.


0.8.1 (2005/05/25)

  Resources
  - Improve "get_mimetype".
  - Implement "get_mtime" for http resources.

  Handlers
  - Improve CSV parser, more robust now.
  - Fix "set_handler".

  XML
  - Fix header serialization.

  XHTML
  - Fix "get_messages".

  HTML
  - Improve parser, more robust now.

  Internationalization
  - Fix igettext.


0.8.0 (2005/04/18)

  URI
  - Correctly deal with empty references: "".

  Resources
  - Move to new style classes.
  - Add lock/unlock API. Implemented only by the Zope 2 resources for now.

  XML
  - New module "itools.xml.parser", is a wrapper around "expat" that
    provides a nicer programming interface.
  - New module "itools.xml.namespaces", provides the new improved namespace
    registry, a base class for namespace handlers, and some basic namespace
    handlers.
  - Now XML Documents have a root element, instead of a list of children.
    The XML declaration and the document type are stored in the instance
    variables 'xml_version', 'source_encoding', 'standalone' and
    'document_type'.
  - New API to work with attributes. Now the methods 'set_attribute',
    'get_attribute' and 'has_attribute' expect the namespace uri to be
    passed first, and the local name to be passed after. There is a new
    method, 'get_attribute_qname', that returns the qualified name (i.e.
    'dc:title') from the namespace uri.
    and the local name.
  - Now the node tree is lighter. The reference from a node to its parent
    has been removed. The 'NodeList' has been removed, now the children
    is just a list of nodes. The class "Raw" has been removed, now text
    nodes are unicode strings. Now attribute values are loaded as byte
    strings, for attributes not attached to an XML namespace.
  - STL, remove obsolete "stl:ifnot".
  - Start Dublin Core implementation.

  Handlers
  - New module "itools.handlers.transactions" provides a better and more
    robust API.

  Code Organization
  - New sub-packages "itools.xhtml" and "itools.html".
  - Now the module 'uri' has become a package.

  Documentation
  - Update XML chapter.


0.7.4 (2005/03/21)

  Handlers
  - Now "get_abspath" returns "/" instead of "" for the root handler.

  Catalog
  - Speed-up the index load, by implementing lazy load.
  - Optimize indexing (around 40% for filesystem resources).


0.7.3 (2005/03/13)

  Catalog
  - Fix unindexing of two or more documents in the same transaction.


0.7.2 (2005/03/11)

  Resources
  - Fix modification time for Zope 2 resources.

  Handlers
  - Add "traverse2" to folder handlers.
  - Add boolean variable "is_virtual".
  - Fix folder save, use the given resource.

  XML
  - Ignore unknown entity references, emit a warning instead of failing.
  - Remove obsolete "walk" method.

  Catalog
  - Fix profile and benchmark script.
  - Speed up the load of an index.

  Packaging
  - Fix setup, use relative paths. By Hervé Cauwelier.


0.7.1 (2005/03/03)

  URI
  - Don't fail with malformed email addresses ("mailto" scheme).

  Resources
  - Finish Zope 2 resources.

  Catalog
  - Now the method "search" is a generator.
  - Search performance optimizations.


0.7.0 (2005/02/23)

  Resources
  - New layer for Zope 2 (resources.zope2)
  - Add file like interface (just the read method).

  Handlers
  - Now folders follow the load/save model.
  - Initialize timestamp with resource's modification time (instead of
    current time).
  - Implement transactions (set_changed, commit_transaction, etc.)
  - New handler class "MO", to manage gettext binary files.
  - Add method 'copy_handler' to the API.
  - New event methods: 'on_del_handler' and 'after_commit'.

  Catalog
  - Fix "IO.decode_vint" and "IO.encode_byte".
  - Optimize search.

  Documentation
  - Update example for the STL chapter.

  Packaging
  - Include the changelog file on source distributions, clean 'setup.py'
    (by Luis Belmar-Letelier).
  - Add 'itools.__arch_revision__' variable (by Luis Belmar-Letelier).


0.6.4 (2005/02/16)

  Handlers
  - Now the encoding default is UTF-8 (for "Text.to_unicode").

  XML
  - Load the "lang" attribute (Schema) as an string.
  - Fix XHTML and HTML serialization, correctly set the encoding.

  Catalog
  - Search by keywords checks if the field exists.

  Windows
  - Fix paths in "get_abspath" and "resources.get_resource".


0.6.3 (2005/02/03)

  XML
  - Now "ComplexType.encode" returns string instead of unicode.

  Zope
  - Fix "checkid", be sure it always returns a byte string (or None),
  instead of a unicode string.


0.6.2 (2005/01/31)

  Resources
  - Add 'set_mtime' to the API.

  XML
  - Load attributes as unicode.

  Catalog
  - Keyword fields accepts lists.
  - Use at least 8 characters to name document resources.
  - Fix the save operation.
  - Add new method 'how_many'.

  Documentation
  - Re-write the chapter about writing custom handlers.


0.6.1 (2005/01/18)

  URI
  - Now the references "" and "." are interpreted as "." (instead of ""),
    while "#" is interpreted as "#" (instead of ""). This is more correct,
    but the game is not over yet (see "uri.py" for details).

  Handlers
  - Minor performance improvement of "Folder.get_handler".

  Internationalization
  - Now accept objects provide support for the "del" operation.

  Packaging
  - Fix setup.py informational metadata (home site).


0.6.0 (2005/01/07)

  Resources
  - Now "get_resources" is an iterator that returns a resource (not a name)
    at a time.
  - Memory folders provide "get_atime".

  Handlers
  - Add the methods "get_handler_names", "get_handlers" and "has_handler".
  - The methods "get_resource", "has_resource", "set_resource", etc. have
    been removed. Access them throug the "resource" attribute, or use the
    equivalent handler methods ("get_handler_names", etc).
  - Now text handlers only must define the method "to_unicode", which now
    accepts the optional parameter encoding.
  - The methods "__str__" and "__unicode__" have been removed. Use instead
    "to_str" and "to_unicode".
  - Serialization and de-serialization code has been moved from "xml.Schema"
    to "handlers.IO". Now the code serializes and de-serializes to and from
    byte strings.

  XML
  - The architecture has been cleaned and simplified, specially for attributes,
    whose API has changed.
  - The new method "traverse2" makes "walk" obsolete.

  Simple Template Language
  - The "stl:if" and "stl:attributes" expressions accept the new "not"
    operator. This change makes the "stl:ifnot" statement obsolete.

  Catalog
  - Now the catalog follows the load/save logic. As a side effect the index
    and unindex operation has been speeded up but a factor of 2, aproximately.

  Workflow
  - Remove the "__init__" method from the "WorkflowAware" class to avoid
    conflicts with handler classes. Now the method "enter_workflow" must
    be called explicitly.

  Documentation
  - Re-write part of the introduction.
  - Re-organize the handler chapters. Explain some things for the first time,
    explain other things better.


0.5.1 (2004/12/17)

  XML
  - Make the Schema more robust.

  Documentation
  - Several fixes, by Hervé Cauwelier.


0.5.0 (2004/11/28)

  URI
  - Add the method 'resolve2' to the path API.
  - Don't support the add operation on paths anymore.
  - Serialize an empty path to '.' instead of ''.

  Resources
  - Now resources provide the attribute 'uri'.
  - Add 'get_mimetype' to the API.

  Handlers
  - New model to find the right handler for a resource.

  XML
  - Start support for schema.

  Simple Template Language
  - Improve performance.

  Index & Search
  - Implement boolean queries.

  Documentation
  - Improve the chapter "Resource Handlers".
  - Start chapter about internationalization.
  - Start appendix about the coding style.
  - Improve the GNU arch appendix.


0.4.6 (2004/09/24)

  Handlers
  - Fix folders timestamp.

  Index & Search
  - Fix unindexing.
  - Remove obsolete itools.lucene.


0.4.5 (2004/09/12)

  Resources
  - Speed up memory resources by storing the resource's data with cStringIO
  instead of normal strings.

  Handlers
  - Speed up by correctly setting the timestamp to folders when they are
  changed.

  XML
  - Miscellaneous fixes.

  Simple Template Language
  - Improve error messages.

  Index & Search
  - Miscellaneus fixes.

  Documentation
  - Improve the appendix about GNU Arch.


0.4.4 (2004/08/30)

  Index & Search
  - Fix unindexing.


0.4.3 (2004/08/24)

  Index & Search
  - Fix search. Rename "Document.Document to IDocument.IDocument"
    and add "Catalog.Document".


0.4.2 (2004/08/18)

  Resources
  - Allow direct write through a list like interface (e.g. r[a:b] = 'xxx'),
    and the new method "append".
  - Remove versioning from memory resources.
  - Add the method "Folder.traverse".

  Handlers
  - The "__str__" and "__unicode__" methods from file handlers have been
    obsoleted in favor of "to_str" and "to_unicode".
  - The method "Folder.get_handler" accepts paths that start with "..".
  - Add the concept of virtual handlers, include the new method
    "Folder._get_virtual_handler". Virtual handlers are not cached.
  - Add the method "traverse" to folders.
  - The CSV handler works now, it uses the Python's "csv" module.
  - The PO handler now accepts non ASCII character on the message id.

  XML
  - Consider the XML doctype to choose the right handler class.
  - Fix "XHTML.get_messages", don't consider empty attributes.
  - Remove "XHTML.set_uriprefix".
  - Fix the HTML handler, use "HTML.Element" instead of "XML.Element".

  Simple Template Language
  - Fix "stl:attributes" for boolean attributes (e.g. checked).
  - Improve error messages.
  - Coerce integers to strings for "stl:attributes" and "stl:content".

  Internationalization
  - Add the modules "i18n.fuzzy", calculates the distance between two
    sentences.
  - Add "i18n.oracle", guesses the language of a text language.
  - Rename "i18n.parsers" to "i18n.igettext" and install it as an script.

  Index & Search
  - Obsolete itools.lucene in favor of the new engine, itools.catalog

  Documentation
  - Revise docuementation.
  - Start a chapter about building new handler classes.

  Packaging
  - Add the Changelog file, generated automatically by tla.


0.4.1 (2004/06/05)

  - Moved from CVS to GNU arch

  - First documentation release

  - Minor fixes


0.4.0 (2004/06/01)

  - Added itools.lucene (index and search).
  
  - Split itools.xml from itools.handlers

  - Added 'traverse' (a generator method) to XML documents.

  - Changed the message extraction algorithm of XHTML.Document

  - Added itools.i18n.segment (text segmentation).

  - Updated documentation (itools.doc)


0.3.0 (2004/05/03)

  Added itools.uri, itools.resources and itools.handlers


0.2.0 (2003/09/14)

  STL. Added the repeat keyword and stack.


0.1.0 (2003/06/24)

  Initial release.
