0.3.1  2005-05-10
      - Improved mismatched environment reporting.
      - More faithful implementation of verbatim & comment environments
      	with fixes to mouth's readRawLines.
      - Fix in Stringify for XML nodes; apparently a documentation bug
        in XML::LibXML::Namespace ? (it doesn't implement getValue)
      - imcremental improvements in latexmlfind

0.3.0  2005-05-06
      - Release 0.3.0
      - Some speculative code on handling the picture environment,
        along with pstricks, but not yet settled.
      - More exports from Package for common operations there,
        and hopefully reduce the usage of global $STOMACH, etc.
      - Improved and updated documentation.
      	Still need to document the new Rewrite facilities
	(but would like to make API more concise)

0.2.99x 2005-04-13
      - Allow * flag (ignored) on \newcommand, et.al.
      - Fixed some problems with fake environments
        (ie. \begin{small}...\end{small})

0.2.99 2005-04-07
      - Released as 0.2.99 so the Bremen folks can get
        some work done.  Documentation update is needed
	for 0.3.0 release.

0.2.xx 2005-03-17
      - Bigger changes, increment version.
      - Modified DocType; don't add namespace, use RegisterNamespace
      	instead.
      - Intestine now creates XML::LibXML structures directly.
        Module LaTeXML::Node is removed.
	In fact, Intestine essentially represents the Document itself
	and thus is now renamed LaTeXML::Document.
      - Removed global exported Font() and MathFont()
      - Made more definitions scopable, cleaned up stash & scope
        implementation.  Renamed: methods {de}activateStash
      - Implemented Rewrite rules that act on the constructed document.
        They also allow rules defined in terms of TeX strings
	(tokenized, digested, converted	to document fragments
	and then XPath statements, as needed).
	These rules can be used to effectively declare variable
	or symbol's Grammatical roles.
	Math Parsing is now part of the latexml script
	and removed from latexmlpost.

0.2.3 2005-01-xx
      - Fixed a problem where misplaced egroups could
        inadvertently change the mode. Mode is no longer
	affected by the TeX stack; they must be explicitly
	start/finished (even though they also introduce grouping).

      - Fixed counting of `raw' lines read for
      	"comment"ed environments.  Line numbers for
	errors were getting skewed.

      - Moved sectional attribute declarations inside the
      	%define.structure; block to ease defining extension DTD's

0.2.2 2005-01-11
      - Random minor bug fixes and improvements to error
        reporting.
 
0.2.1 2005-01-10
      - Bug fixes to stylesheet LaTeXML-xhtml,
      	Thanks Yann Golanski
      - A few rearrangements and renamings to make a simple
        top-level 'digest from string' alternative.
 	[  $latexml->readAndDigestString($string) ]
	Also, renamed the slightly misnamed Stomach methods:
          readAndDigestChunk => digestNextChunk
          readAndDigestBody => digestNextBody
      - A few typos in Stomach fixed
      - Almost complete implementation of the various AMS
        packages:amsbsy,amsfonts,amsmath,amsopn,amssymb,amstext,amsxtra
        Still need to complete and test the various alignment environments

0.2.0 2004-12-25
      Extensive changes, so incrementing minor version, but
      not robust enough for major version!

      - Added version info to latexml, latexmlpost help output.
        separated --debug and --trace options.
      - Removed mathConstructor option to various DefXXs
      	Use new constructor conditional "?IfMath(..)(...)"

      - POS is an annoying acronym. Role is better and
        upon reflection, doesn't conflict with OpenMath's ussge.
	Hence, partOfSpeech and POS have been replaced by role
	to describe the grammatical role (or `part of speech')
	of tokens to be interpreted during a math parse.

      - Reduced introduction of new `name' attributes for
      	math tokens, especially when they add little value.
	Most greek & math characters are just replaced
	by thier unicode equivalent; In most cases, a name
        is synthesized from the control sequence when needed.
        The intestines will now create an XMTok, if required.
	Also, it will automatically manage the font
	and assign a `cs' attribute to record the macro
	used to create the token.

      - DefSymbol is deprecated (removed in fact)
      - DefMath (new) covers what DefSymbol did,
      	and more: handles the common form for functions
	taking arguments. When the macro takes args and
	the replacement presentation text involves #1,
	it generates an XMDual using the replacement as
	an expansion, but also creates the content form.
        To avoid duplicating the arguments, the XMArg's
        containing the arguments in the content branch
        are marked with an id; in the presentation branch
	<XMRef idref='id..'/> is used.  Corresponding
	code in postprocessor looks up the referred node
	when needed.  XMRef can also be used on it's own:
	see the macros \@XMArg and \@XMRef in TeX.ltxml.

      - Constructors take property arguments which supply
      	properties to the whatsit (which can be CODE evaluated
	at digestion time).  These properties can be used
	in the constructor pattern.

      - Refactoring of Intestine & DOM; most interaction
        with Model is done in Intestine.  Renamed
        DOM to Node and renamed it's subclasses.

      - "In for a dime, in for a dollar":
        Since I'd found it necessary to use global variables
	to access the stomach and intestine from strange places, 
	then I might just USE the darn'ed things!
	Consequently, most places were a $stomach, $intestine
	(or $gullet and $model) were passed around as arguments, 
        no longer do. Now, just use the globals, which the inlines
	STOMACH, INTESTINE and GULLET and MODEL return.
	As a side effect, the `0-th' argument to CODE implementing
	control sequences is generally the definition (for whatever
	use that might be), or the Whatsit for constructors.

      - Made DOM construction more forgiving by using SalvageError
        when constructing a tree that doesn't conform to DTD.
	The result may not be valid, but continues processing.
	This led to major rewriting & cleanup of error reporting,
	and storing a `locator' on all data objects that record
	where in the source file they were created.
	[Thanks to suggestions from Kevin Smith]
      - Cleanup of math parsing, presentation mathml generation.
      - Added postprocessing module for generating OpenMath.
        It is insufficient, but a starting point.
      - latexml.sty & latexml.ltxml
        A start at providing special purpose macros that make sense
	in LaTeX, and do even more interesting things in LaTeXML.
	Currently, define some silly macros like \XML, \LaTeXML, etc,
	and provide LaTeX bindings for things like DefMath!

      - Sadly, I gave up on "overload".  Nice idea, but 
        for a big package, it's tricky to get right.
	The magic creation of methods can lead to hard-to-find
	performance issues, if you try to do to much with Stringify.
	So, Object doesn't use overload.  To stringify or compare,
	consider the (newly exported functions in Global):
	Stringify($ob), ToString($ob) and Equals($a,$b).

      - added latexml.sty which should get installed in the local branch
        of the standard texmf directories.  Not yet documented, but
	it provides (or will) LaTeX bindings to interesting LaTeXML
	declarations, eg. defining math commands.

0.1.2 2004-09-02
      - Some experiments to reduce namespace redundancy.
      	C14N is too severe, use of $node->addNewChild
  	is non-portable and awkward.
	Kludge: leverage the namespace cleanup on _parsing_ !!
	(which means, write to string & reparse!!!)
	(acknowledged need on libxml2 end, but not done)

      - Portability fixes to LaTeXML::Util::Pathname
        Should work in Windows, thanks Ioan Sucan.

      - Modifications to Constructor patterns
	* Changed the `property' value pattern to '#name'
	  (eg. #body instead of %body).        
	  (Gratuitous, but simplifies the grammar)
        * Values in patterns, #1 and #name can now
	  be followed by {key}, for KeyVal arguments,
	  to access the value associated with a given key.
	* Conditional expressions now recognize general values:
	  ?<value>(...) and also accept an else clause
 	  ?<value>(...)(...).  
	* The NOT conditional, !<value>(...), is removed;
	  Use ?<value>()(...) instead.
	* Prefixing the constructor pattern with '^'
	  allows the generated XML to `float up' to a parent
	  node that is allowed to contain it, according to
	  the document type.  The floats keyword for definitions
	  is also removed.
	* The untex strings for constructors that shouldn't appear
	  in the math TeX string (used for image generation)
	  should now be empty, '', instead of using the floats keyword.

0.1.1 2004-06-15
      - Packages:
        * Made package loading more robust; doesn't re-load;
	* Crude access to options
	* Added several missing definitions to TeX & LaTeX
	* Implemented comment, acronym packages;
	  initial (mostly empty) amssymb

      - General:
        * Catch filters that don't actually change the input.
	* Refactoring: New module Global.pm carries all exported
	  constants and constructors to simplify coding.
	* Refactoring: name changes & code movement of methods
	  confusingly called `digestFoo' and similar.
	* Refactoring: Moved macro parameter handling to new
	  module Parameters.pm (and as side-effect had to
	  rename parameters to Register (DefRegister, etc))
	* More careful Token equals method, so newline can convert to
	  a T_SPACE w/ newline inside; this means the output nominally
	  preserves lines! (but STOMACH->setValue('preserveNewLines',0);
	  disables it).
	* New constructor \@VALUE fetches values from stomach during
	  absorbtion in intestines. This (or similar) used to put
	  reference numbers in \ref, like 2nd LaTeX pass.

      - Math:
        * Introduced new element <Math> which can contain the various
	  alternative representations of math, such as XMath, m:math, ...
	  Moved most of XMath's attributes to Math.

      - Error/Warning Messages
        * Added messages to show progress during processing (unless -quiet)
	* New SalvageError message for things that in principle are errors,
	  but we're going to try to proceed; added some things to this category,
	  like unknown macros, and such.
	* Added source locator to Whatsit to improve error messages.

      - PostProcessing:
        * Fixed xml catalog so it finds mathml dtd and entity files
	* Fixed latexmlpost and LaTeXML::Post to recognize html and xhtml
	  output formats; refined the stylesheets (LaTeXML-html.xsl and
	  LaTeXML-xhtml.xsl (both of which include LaTeXML-base.xsl))

      - Put LaTeXML tags in thier own namespace:
            http://dlmf.nist.gov/LaTeXML
	And first pass at fixing postprocessors to recognize this
	[probably introduced bugs, and in any case, namespace normalization
	 is pretty crummy]

      - NEED TO DO:
      	* Implement alltt package
	* Question: Should XMath be duplicated before parsing?
	  (ie w/different status=tokenized|parsed|partially-parsed|....)
	  This would allow more inference and then re-run the parser.
	* Extend constructor syntax to work with KeyVals, apply random functions?
	* Refactor DOM? eg. use XML::LibXML, move more analysis to Intestine
	  this needs (at least) resorting Font reduction.

      Thanks to Michael Kohlhase <m.kohlhase@iu-bremen.de> for comments & examples
      leading to many of these patches.

0.1.0 2004-05-10
      Initial (pre)release
