* Version 1.1.2 (stable) - API 1.1.0 (stable) - 2012-04-07


Fix dir layout
Bug #14681 Security issue due to seeding random number generator
 

* Version 0.1 (stable) - API 0.1 (stable) - 2002-04-06


* Initial independent PEAR release.
   

* Version 0.2 (stable) - API 0.2 (stable) - 2002-04-07


* Renamed to XML_Transformer, per Stig's request.
   

* Version 0.3 (stable) - API 0.3 (stable) - 2002-05-16


+ Added setDebug() and stackdump() to allow for easier debugging.

+ Added setRecursiveOperation() to enable/disable the recursive
  operation of the XML Transformer.

* Changed the constructor to be more intuitive and user-friendly.

* Changed setCaseFolding() to accept a second parameter to set
  the case to which XML attributes and elements are folded.
   

* Version 0.4 (stable) - API 0.4 (stable) - 2002-09-04


+ Added a filtering mechanism to the debugger that limits
  the generated debugging information to a given set of
  elements.

* Debugging information is now sent using error_log()
  instead of syslog().

* Fixed a bug in the case-folding handling.
   

* Version 0.5 (stable) - API 0.5 (stable) - 2002-09-08


* Resolved infinite recursion problem that arose when handlers
  do not remove the tags of their assigned element from the input
  XML document, but only work on it's sub-tree.
   

* Version 0.6 (stable) - API 0.6 (stable) - 2002-09-18


+ Added methods setDefaultCallback() and unsetDefaultCallback() to
  set/unset default callbacks for elements that are not overloaded.

+ Added a base class for namespace-handling transformer classes.

+ Removed canonicalName() method in favour of more general
  canonicalizeAttributes() method.

+ Added PHP namespace handler. Initially the following tags are
  supported:

    + <php:expr/> evaluates a given PHP expression and stores its
      return value into the output XML tree.

    + <php:getvariable name=""/> inserts the contents of a given
      global variable into the output XML tree.

    + <php:setvariable name="">value</php:setvariable sets a given
      global variable to a given value.

    + <php:getparameter name=""/> inserts the contents of a given
      HTTP GET parameter into the output XML tree.

    + <php:postparameter name=""/> inserts the contents of a given
      HTTP POST parameter into the output XML tree.

    + <php:sessionvariable name=""/> inserts the contents of a given
      session variable into the output XML tree.

* Fixed a bug in overloadNamespace()'s error handling.

* Recursive operation can now be selectively turned off for
  overloaded namespaces, too.

* Attributes are now canonicalized on-the-fly, rather than at
  the time of their serialization which can be too late.

  As a side-effect, the attributesToString() method can now be
  called statically.

* Fixed recursive transformation of overloaded namespaces.

* Changed license from PHP License 2.02 to PHP License 3.00.
   

* Version 0.7 (stable) - API 0.7 (stable) - 2002-09-22


+ Added Anchor namespace handler.

  The Anchor namespace handler implements a database of
  indirect links. These links can be maintained centrally
  in a single location, and can be used using

    <a:iref iref="name">...</a>

  <a:random/> selects a single random link from the database.

+ Added Image namespace handler.

    + <img:img/> is a replacement for XHTML's <img/> and
      automatically determines the size of the image.

      For this, the image must be in a format that is
      understood by getimagesize().
  
    + <img:gtext /> is a container that renders its contents
      as a PNG graphics using ImageTTFText().

      For this to work, a cache directory below DocumentRoot
      that is writeable by the Webserver owner is necessary.
      The default is /cache/gtext.
  
    + <img:gtextdefault /> understands the same attributes as
      <img:gtext /> and supplies these to all subsequent calls
      of <img:gtext />.

+ Namespace handlers can now use getLock() to disable other
  namespace handlers for the time of their transformation.
  releaseLock() is used to enable all namespace handlers
  again.

+ Added a caching version of the XML_Transformer that uses
  the Cache_Lite PEAR package to cache the result of XML
  transformations.

+ Added automatic loading of namespace handlers that are
  stored in the XML/Transformer/Namespace directory.

+ Added new tags to the PHP Namespace Handler:

    + <php:namespace name="a">
       <php:define name="b">
        <p>The attribute x is $x and the content is $content.</p>
       </php:define>
      </php:namespace>

      This will define a new namespace a with a single tag b in it
      (You may put multiple defines into a namespace). If you use
      <a:b x="text">sometext</a:b>, the variable $x will be replaced
      with the text, and the variable $content will be replaced with
      the content.

    + <php:cookievariable name=""/> inserts the contents of a given
      HTTP Cookie into the output XML tree.

    + <php:servervariable name=""/> inserts the contents of a
      given server variable into the output XML tree.

    + <php:logic/> executes a given block of PHP code and stores
      its output into the output XML tree.

* Refactored the XML_Transformer class into

    * XML_Transformer.

    * XML_Transformer_CallbackRegistry.

      This class faciliates the registration of new callbacks
      on-the-fly inside the transformation's recursion.

    * XML_Transformer_OutputBuffer.

      This class decouples the XML transformation from the output
      buffering.

    * XML_Transformer_Util.

      Static utility methods.

* Deprecated overloading of single XML elements.

  By overloading a special namespace, &MAIN, the old behaviour can
  be achieved.

* setDefaultCallback() and unsetDefaultCallback() are deprecated.

  By overloading the newly introduced &MAIN namespace with a class
  that provides default element handlers the old behaviour can
  be achieved.
   

* Version 0.8 (stable) - API 0.8 (stable) - 2002-10-07


+ Added DocBook namespace handler.

+ Added Widget namespace handler.

* Renamed XML_Transformer_Cache and XML_Transformer_OutputBuffer
  to XML_Transformer_Driver_Cache and XML_Transformer_Driver_OutputBuffer
  respectively.

* Significant performance improvement by preventing unnecessary
  recursive parsing.

  By returning

    array(
      $cdata,
      true
    )

  instead of

    $cdata

  a callback handler for the endElement event can notify the
  Transformer not to recurively process its result.

* Improved debugging information.

* The target to which error messages and debugging information
  are beeing sent can now be configured using setLogTarget().

  The default target is the error.log.
   

* Version 0.8.1 (stable) - API 0.8.1 (stable) - 2003-05-06


* Bugfix release.
   

* Version 0.8.2 (stable) - API 0.8.2 (stable) - 2003-09-11


* Performance improvements due to changes in the
  debug mode.
   

* Version 0.9.0 (stable) - API 0.9.0 (stable) - 2004-02-06


* XML fragments are now handled more gracefully.

  It is now possible, for instance, to return
  "<t1/><t2/>" from a closing tag's callback.
    by Azundris (http://www.azundris.com)

* Entities are no longer unescaped during recursion.
    by Azundris (http://www.azundris.com)

* Empty elements like "<br></br>" are now transformed
  into "<br/>".
    by Azundris (http://www.azundris.com)

* Refactored debug message system.

- Replaced XML_Transformer_Util::attributesToString()
  with XML_Util::attributesToString().

- Replaced XML_Transformer_Util::qualifiedElement()
  with XML_Util::splitQualifiedName().

! The XML_Util package is now required.
   

* Version 0.9.1 (stable) - API 0.9.1 (stable) - 2004-03-02


* Fixed E_NOTICE in XML/Transformer.php.
   

* Version 1.0.0 (stable) - API 1.0.0 (stable) - 2004-03-15


* No functional changes since XML_Transformer-0.9.1.
   

* Version 1.0.1 (stable) - API 1.0.1 (stable) - 2004-03-16


* The collapsing of empty tags (<foo></foo>) into their
  short-tag (<foo />) equivalent has been made optional
  and is disabled by default to restore backwards
  compatibility with XML_Transformer versions prior to
  0.9.0.
   

* Version 1.1.1 (stable) - API 1.1.0 (stable) - 2012-04-08


Fix dir layout
Bug #14681 Security issue due to seeding random number generator
   

* Version 1.1.2 (stable) - API 1.1.0 (stable) - 2012-04-08


Fix dir layout
Bug #14681 Security issue due to seeding random number generator
   

