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.
