* Version 1.1.4 (stable) - 2006-12-16

- Fixed bug #9561: Not allowing underscores in middle of tags
  

* Version 0.1 (stable) - 2003-08-01

inital release
    

* Version 0.1.1 (stable) - 2003-08-02

bugfix: removed bug in createTagFromArray
    

* Version 0.2 (stable) - 2003-08-12

added XML_Util::getDocTypeDeclaration()
    

* Version 0.2.1 (stable) - 2003-09-05

fixed bug with zero as tag content in createTagFromArray and createTag
    

* Version 0.3 (stable) - 2003-09-12

added createStartElement() and createEndElement()
    

* Version 0.4 (stable) - 2003-09-21

added createCDataSection(),
added support for CData sections in createTag* methods,
fixed bug #23,
fixed bug in splitQualifiedName()
    

* Version 0.5 (stable) - 2003-09-23

added support for multiline attributes in attributesToString(), createTag*() and createStartElement (requested by Yavor Shahpasov for XML_Serializer),
added createComment
    

* Version 0.5.1 (stable) - 2003-09-26

added default namespace parameter (optional) in splitQualifiedName() (requested by Sebastian Bergmann)
    

* Version 0.5.2 (stable) - 2003-11-22

now creates XHTML compliant empty tags (Davey),
minor whitespace fixes (Davey)
    

* Version 0.6.0beta1 (beta) - 2004-05-24

- Fixed bug 1438 (namespaces not accepted for isValidName()) (thanks to davey)
- added optional parameter to replaceEntities() to define the set of entities to replace
- added optional parameter to attributesToString() to define, whether entities should be replaced (requested by Sebastian Bergmann)
- allowed second parameter to XML_Util::attributesToString() to be an array containing options (easier to use, if you only need to set the last parameter)
- introduced XML_Util::raiseError() to avoid the necessity of including PEAR.php, will only be included on error
    

* Version 0.6.0 (stable) - 2004-06-07

- Fixed bug 1438 (namespaces not accepted for isValidName()) (thanks to davey)
- added optional parameter to replaceEntities() to define the set of entities to replace
- added optional parameter to attributesToString() to define, whether entities should be replaced (requested by Sebastian Bergmann)
- allowed second parameter to XML_Util::attributesToString() to be an array containing options (easier to use, if you only need to set the last parameter)
- introduced XML_Util::raiseError() to avoid the necessity of including PEAR.php, will only be included on error
    

* Version 0.6.1 (stable) - 2004-10-28

- Added check for tag name (either as local part or qualified name) in createTagFromArray() (bug #1083)
    

* Version 1.0.0 (stable) - 2004-10-28

- Added reverseEntities() (request #2639)
    

* Version 1.1.0 (stable) - 2004-11-19

- Added collapseEmptyTags (patch by Sebastian Bergmann and Thomas Duffey)
    

* Version 1.1.1 (stable) - 2004-12-23

- fixed bug in replaceEntities() and reverseEntities() in conjunction with XML_UTIL_ENTITIES_HTML
- createTag() and createTagFromArray() now accept XML_UTIL_ENTITIES_XML, XML_UTIL_ENTITIES_XML_REQUIRED, XML_UTIL_ENTITIES_HTML, XML_UTIL_ENTITIES_NONE and XML_UTIL_CDATA_SECTION as $replaceEntities parameter
    

* Version 1.1.2 (stable) - 2006-12-01

- fixed bug #5419: isValidName() now checks for character classes
- implemented request #8196: added optional parameter to influence array sorting to createTag() createTagFromArray() and createStartElement()
    

* Version 1.1.4 (stable) - 2006-12-16

- Fixed bug #9561: Not allowing underscores in middle of tags
    

