24-05-2009
  * Add a node cache that can be enabled at compile time.
    the node cache prevents recursively walking the xml tree over and over
    again to find the specified nodes.

05-05-2009
  * Various bugfixes, required to get fgrun working
  * add testxml as sort of a stress test application

30-04-2009
  * Add support for CDATA
  * Fix an off by one problem.

28-04-2009
  * changes to the code to allow walking the xml-tree using "*" as a node name
  * add printxml, an example utility that walks an xml-tree and prints it
    contenst

27-04-2009
  * add xmlInitBuffer() for processing of a preallocated buffer
  * add xmlErrorGetColumnNo to get the column number of the syntax error
  * pass an error at a higher level to lower levels
  * detect a number of extra syntax errors

26-04-2009
  * add support for comments inside xml-tags, e.g.: <test><!-- --></test>

25-04-2009
  * add support for self-contained tags like <test/>
  * fix a problem if a file could not be mmaped
  * add a few comments which hopefully makes the code easier to understand
  * code cleanups

20-04-2009
  * fix a case where a single-element root path (e.g. "/printer") would not
    pass xmlNodeGetPath
  * fix a problem where attributes or elements starting with the same letter
    sequence could give a false negative result
  * Add a 'clear' attribute to the xmlErrorGet functions that indicates whether
    the error should be cleared or not
  * detect more xml syntax errors

18-04-2009
  * Make the code compiler correctly under windows
  * Introduce a root-node that can hold extra information which is necessary
    for thread safety under windows
  * Add xmlErrorGetString, xmlErrorGetLineNo for syntax error detetction
  * Add xmlErrGetNo for detection of, and clearing the last error

16-04-2009
  * Rename xmlGetNode functions to xmlNodeGet for better consistancy
  * likewise for xmlCopyNode en xmlCompareNode
  * add xmlAttributeGetDouble, xmlAttributeGetInt, xmlAttributeGetString
    xmlAttributeCopyString and xmlAttributeCompareString functions
  * fix some small bugs and problems along the way
  * add support for filtering on attribute value in xmlgrep

21-07-2008
  * change a number of function parameters to const where appropriate
  * fix a problem where the wrong node-name length was returned
  * xmlgrep now also works when only the -e options is specified
  * fix xmlgrep to show the correct node-name (it reported the parent
    node-name in the previous version)

20-07-2008
  * fix __xmlSkipComment to properly find the end of comment tag.
  * add the xmlGetNodeName and xmlCopyNodeName functions
  * add the xmlCopyString function
  * clean up some code

19-07-2008
  * rewrite the code to always recursively walk the node tree when searching
    for a particular node. this is required for cases where a node with a
    particular name is located deeper in a node with the same name;
    for example -r /configuration/device/reference/device would fail in the 
    previous verion
  * rename xmlGetElement to xmlGetNodeNum and add the possibility to request
    the nth node with this name
  * rename xmlGetNumElements to xmlGetNumNodes

06-07-2008
  * reorganize the code to be able to skip comment sections
  * depreciate __xmlFindNextElement and use __xmlGetNode instead
  * xmlGetNextElement now returns char* instead of void* for furute use
  * add preliminary support for wildcards in the search path ('*' and '?')

01-07-2008
 * fix a problem caused by removing the last unnecessary alloc
 * strip leading-, and trailing spaces from the string before comparing
 * fix a problem where trailing spaces weren't removed

30-06-2008:
 * some small changes; fix some typo's and fix a small memory leak
 * update the documentation in README
 * remove the last unnecessary alloc

29-06-2008:
 * rename xmlGet(Int/Double/String) to xmlGetNode(Int/Double/String)
 * add new xmlGet(Int/Double/String) functions
 * rename xmlCompareString to xmlCompareNodeString for consistency
 * rename xmlCompareElement to xmlCompareString for consistency
 * add a README file with short examples of various functions

27-06-2008:
 * removed some memory allocation in xmlGetNode and XMLGetNextElement
 * use the file-size for mmap and remove the root node from the xml-id
 * rearrange xmlGetNode to work with complicated xml files
 * add the xmlMarkId function to save the id before using xmlGetNextElement
 * speed up xmlGetNextId

23-06-2008: Initial release