Changes
=======

ParsedXML 1.5
-------------

Bugs Fixed:

- Allow unicode characters in qualified names.

Other changes:

- Zope 2.8 transaction compatibility fixes.

ParsedXML 1.4
-------------

Features Added:

- Switched the test suite over to use ZopeTestCase.

- Updated UI so that the XML edit screen is the first screen
  seen, not the DOM screen.

- UI is UTF-8 by default now, the same as the default encoding
  of the XML. XML *encoding* setting in the XML declaration
  other than UTF-8 are supported by the upload, but the XML text
  will be converted to unicode internally and will display as
  UTF-8, the default encoding.

  You can also use the encoding in the XML declaration in the
  edit entry, but you will be unlikely to get it right as the
  interactions between various encodings becomes rather
  complex. If you have XML text in a non-UTF-8 encoding upload
  it as a file rather than copy and paste it.

- Switched over to new-style security declarations and added a
  few.

Bugs Fixed:

- Cleaned out tests so they all pass. This was done
  (unfortunately) by disabling some failing tests.

- Some encoding issues should be more sane now.

Misc:

- Updated license to ZPL 2.0.

- get rid of unused HTML writing support.

- Removed old Printer.py module (PrettyPrinter works better and
  has more functionality).

- get rid of obsolete delegation through StrIO module to get StringIO.

ParsedXML 1.3.1
---------------

Bugs Fixed:

- Bugfix/performance improvement. Do not rely on ``getPersistentDocument()``
  but instead use acquisition parent. This fixes a memory leak
  triggered when doing ``document.documentElement``, and also likely
  improves performance when accessing the DOM through the ManageableDOM
  wrappers.

- The Zope Find tab should now not give an error anymore when searching
  with ids.

- Use the One True Way to import expat now ('from xml.parsers
  import expat').

ParsedXML 1.3.0
---------------

Features:

- All element nodes now have a _element_id id. This id is guaranteed
  to be unique in the document, though which id an element has may
  change in a reparse.

- NodePath system for creating various paths to nodes. This can
  be based on 'child' (child node index), 'element_id', or
  'robust', which is not very robust as yet in some ways, but
  should be resistent to quite a few changes to the document.

- added pretty printing feature. A pretty print button renders
  the document in pretty printed form, but does not save this
  changed version (you can do so yourself).

Bugs Fixed:

- Removed ParsedXML's Expat, introduced dependency on PyXML's 
  pyexpat instead (or just compile your own). This gets rid of
  lots of install hassles, especially on Windows. Just install
  PyXML.

- An ongoing attempt to bring sanity to the unit test story.

- Avoid XML-garbling bug in Printer by using PrettyPrinter.

- various bugfixes in the DOM.

ParsedXML 1.2.1
---------------

Features:

- pyexpat.c is now in sync with Python's and PyXML's version.

ParsedXML 1.2.0
---------------

Bugs Fixed:

- Tests are now more conformant with Zope unit testing guidelines.

- Should work with Python 2.1/Zope 2.4, but not all the way 
  there yet (parser segfault..)

- new version of PyExpat

Features:

- Access to DOM from Zope environment sped up by new DOMProxy
  implementation

ParsedXML 1.1b1
---------------

Bugs Fixed:

- Fixed an ExpatBuilder bug that caused a DOM reference to be
  leaked when parsing occured at the document.  There is still a
  leak for fragment parsing that we're looking into.

Features:

- ZCatalog support added

- ZCache support added

ParsedXML 1.1a1
---------------

Bugs Fixed:

- Version numbers make more sense :)

Features:

- The value returned by get_size() is cached, which will often
  speed up the management view of an instance's container. 

ParsedXML 1.0
-------------

Bugs Fixed:

- Problems with Attr Node manipulation not being reflected by
  the getAttribute methods of their Elements and vice versa
  fixed.

- Erroneous position information for parse error output on
  subnodes fixed.

- Default attributes are noticed by the parser and printer, and
  the relevent DOM methods work.

Features:

- ManageableDOM Nodes can find the persistent Document wrapper
  when it has been installed in a Zope ObjectManager.  This
  object, rather than a newly created ManageableDocument
  wrapper, is returned when available by OwnerDocument calls.
  This allows Zopish navigation and discovery out of the
  Document, helps shorten acquisition paths, and fixes some bugs
  with manipulation at the Document.

- ManageableDOM's usage of namespaces for parsing is now
  optional and settable.

- The DOM 2 Traversal interface has been fleshed out, although
  support for visiblity and roots is not complete.

ParsedXML 0.1b3
---------------

Bugs Fixed:

- Yet a few more DOM bugs fixed.

- Fixed a distribution error that was causing build problems
  under Solaris.

ParsedXML 0.1b2
---------------

Bugs Fixed:

- Many bugs found and fixed as we hammered out new DOM tests,
  especially in namespace usage, attribute printing, and
  attribute children.

Features:

- Several speedups throughout the code.

- ManageableDOM refactored into several base classes to make
  extension easier.

 
     
