
  C H A N G E L O G
  =================

  This file summarizes *all* types of changes to the mp4h sources,
  i.e. changes between each patchlevel (0.x.y->0.x.(y+1) and
  0.x.y->0.(x+1).0). Take this logfile for concrete and detailed
  information about every single change.
  ___________________________________________________________________________

  Changes between 0.9.5 and 1.0.0:

    *) Numerous clean-ups and documentation enhancements (19-Jun-2000):
       Macro parser is now very robust, and extensible with the -X flag.
       It should be useful to any HTML (or XHTML) writer which wants a
       simple but powerful macro-processor.
       Documentation is enhanced, but need some more work.
       Expansion behaviour has been deeply reviewed since 0.9.5, see
       documentation for details.
       [Denis Barbier]

    *) Change expansion flags (18-Jun-2000):
       Two flags have been switched, and two new options added to
       remove leading and trailing star in tag names.
       [Denis Barbier]

    *) Change valid tag names (17-Jun-2000):
       Valid tag names now match [a-zA-Z_][a-zA-Z_0-9:-]*
       Previous versions also accept `%' sign, which is removed
       not to conflict with ASP notation.
       [Denis Barbier]

    *) Remove control characters from debug output (16-Jun-2000):
       There were some garbage in debug output caused by control
       characters, which are now filtered.
       [Denis Barbier]

    *) Fix string substitution (14-Jun-2000):
       With some complex expressions, string substitution did not
       work properly.
       [Denis Barbier]

    *) Fix logical operators (14-Jun-2000):
       With some complex expressions, <and>, <or> and <not> logical
       operators did not work properly.
       [Denis Barbier]

    *) Change default behaviour (13-Jun-2000):
       The removal of trailing star in tag name is suppressed, because
       it cannot deal with all cases.  The only right approach is to
       use a post-processor (this brilliant thought has changed on
       18-Jun-2000).
       Escaping mechanism has also been reviewed.
       [Denis Barbier]

    *) Remove French documentation (07-Jun-2000):
       English version is now the only one maintained.
       [Denis Barbier]

    *) Remove trailing star in tag name (04-Jun-2000):
       Because of new parsing scheme, complex HTML tags must be well
       nested.  When this is not the case, e.g. only begin or end tag is
       to be processed, there must be a way to let mp4h believe that
       following tag is simple without putting a trailing slash in
       attributes.  This is done by appending a star to the tag name,
       both in begin and end tag.  This star is automatically removed.
       [Denis Barbier]

    *) New tags added (04-Jun-2000):
       Tags <lb/>, <rb/>, <dq/> and <bs/> allow protection of the
       following special characters: `<', `>', '"' and '\'.
       [Denis Barbier]

    *) Add -X flag to test parser (03-Jun-2000):
       [Denis Barbier]

    *) Fix compilation bug in src/builtin.c (01-Jun-2000):
       [<gaa@ulticom.com>]

    *) Provide a way to read tokens without parsing (01-Jun-2000):
       All characters between <@[ and ]@> are read without parsing,
       this is very useful to read malformed mp4h tags.  These
       delimiters may be changed with the <set-quotes> tag.
       [Tobias Oetiker <oetiker@ee.ethz.ch>]

  Changes between 0.9.4 and 0.9.5:

    *) Change evaluation of unknown tags (22-May-2000):
       Until now, unknown tags were treated like normal text, i.e. left
       angle bracket lose their special meaning.  This has very
       strange side effects when such tags appear in attributes.
       [many people]

    *) Fix trailing slash (06-May-2000):
       When there was no attribute and no space before the slash sign,
       as in <br/>, this tag was not expanded.
       [Denis Barbier]

  Changes between 0.9.3 and 0.9.4:

    *) Changes in l10n (03-May-2000):
       I do not know how to deal with locales in a portable way, so
       examples are removed from documentation.  Only English
       documentation is build, but you may continue to compile the
       French one if your environment variables are rightly set.
       [Denis Barbier]

    *) Syntax change in the <let> tag (03-May-2000):
       New syntax is <let cmd1=cmd2>, similar to TeX and more
       user friendly.
       [Denis Barbier]

  Changes between 0.9.2 and 0.9.3:

    *) Ease building of Debian package (20-Apr-2000):
       I added a new `deb' target to build Debian packages
       [Denis Barbier]

    *) Do not invoke tidy on HTML documentation (20-Apr-2000):
       By default HTML documentation is no more post-processed by
       tidy because some old versions break compilation.  This feature
       is available with the --with-tidy flag of the configure script.
       [Ralf S. Engelschall]

    *) Fix compilation on some platforms (20-Apr-2000):
       [Stephane Bortzmeyer <bortzmeyer@pasteur.fr>]

    *) Better handling of trailing slashes (20-Apr-2000):
       Now a trailing slash in <command "foo/"> is not removed
       [Nobuyuki Tsuchimura]

  Changes between 0.9.1 and 0.9.2:

    *) New array-topvalue tag (18-Apr-2000):
       This tag prints the last entry in an array.
       [Denis Barbier]

    *) Better handling of trailing slashes (18-Apr-2000):
       It was very difficult to prevent suppression of trailing slash
       in attributes.  Now it can be done by putting spaces between this
       slash and the closing bracket.
       [Nobuyuki Tsuchimura]

    *) Many cosmetic changes (13-Apr-2000):
       Mp4h is now spelled mp4h in lowercase letters in all files.
       Some source files are fixed to produce no warning at compilation
       time.
       [Ralf S. Engelschall]

  Changes between 0.9.0 and 0.9.1:

    *) Fix bugs with extra quotes in attributes (03-Apr-2000):
       [Denis Barbier]

    *) Fix bugs in grouping (03-Apr-2000):
       [Denis Barbier]

    *) Remove a trailing slash in attributes (01-Apr-2000):
       When reading attributes of single tags, a trailing slash is
       ignored.
       [Denis Barbier]

  Changes between 0.8.5 and 0.9.0:

    *) Customization of number output format (01-Apr-2000):
       [Denis Barbier]

    *) Add support for localization (01-Apr-2000):
       New <mp4h-l10n> macro defines locale settings.
       By default, locale is set to C.
       [Denis Barbier]

    *) Change arguments of array functions (01-Apr-2000):
       To be more intuitive, first argument of all array-related
       macros is now the name of the variable containing the array.
       [Denis Barbier]

    *) Change some array functions (31-Mar-2000):
       The <array-append> tag is replaced by <array-push> and
       <array-pop> is added.
       [Denis Barbier]

    *) Implicit array indexes (29-Mar-2000):
       The expression <get-var foo[i]> is a shorthand for
       <get-var foo[<get-var i>]>.
       [Jan Holler <jh@inetcom.ch>]

    *) Fix warning messages (29-Mar-2000):
       [Denis Barbier]

  Changes between 0.8.5 and 0.8.4:

    *) Fix bug with some nested expressions (27-Mar-2000):
       [Nobuyuki Tsuchimura <tutimura@nn.iij4u.or.jp>]

  Changes between 0.8.4 and 0.8.3:

    *) Change in grouping (25-Mar-2000):
       The quoted=true attribute of the <group> tag is removed and this
       feature is now provided by the <noexpand> tag. Its counterpart is
       <expand>.
       New attribute of <group> : ``separator=string''
       [Denis Barbier]

    *) Fix memory leaks (22-Mar-2000):
       [Denis Barbier]

    *) Add <return> tag (20-Mar-2000):
       This tag exits from inner macro.
       [Uwe Mindrup <uwe@mindrup.de>]

    *) Add %name in replacement text (20-Mar-2000):
       This special string expands to the macro name when found in
       replacement text.
       [Denis Barbier]

    *) Bugfix in replacement text (18-Mar-2000):
       Letters `A' and `U' after a percent sign were gobbled by mp4h
       in macro replacement text.
       [Joerg Plate <Joerg@Plate.cx>]

  Changes between 0.8.3 and 0.8.2:

    *) Add macro hooks (15-Mar-2000):
       These hooks are provided to allow inserting text before or after
       macro expansion. This way it becomes easy to transform primitives
       or defined macros.
       [Denis Barbier]

    *) Fix build failure on FreeBSD (15-Mar-2000):
       There was a bug in lib/xmalloc.c which causes a build failure
       on FreeBSD.
       [Ralf S. Engelschall <rse@engelschall.com>]

  Changes between 0.8.2 and 0.8.1:

    *) Cosmetic changes in documentation (11-Mar-2000):
       These changes are made to allow automatic generation of
       http://www.engelschall.com/sw/mp4h/docs/index.html
       [Denis Barbier]

    *) Suppress whitespace after discarded newlines (11-Mar-2000):
       When newlines are discarded via the <dnl> tag or eol-comments,
       leading whitespaces on following line are removed.
       [Denis Barbier]

  Changes between 0.8.1 and 0.8.0:

    *) Remove unused subroutines (02-Mar-2000):
       [Denis Barbier]

    *) Fix again how unknown macros are expanded (01-Mar-2000):
       This time, no expansion is done.
       [Denis Barbier]

  Changes between 0.8.0 and 0.7.2:

    *) English documentation (28-Feb-2000):
       [Denis Barbier]

    *) Fix <unset-var> tag (28-Feb-2000):
       [Denis Barbier]

    *) Internal change in <include> tag (28-Feb-2000):
       [Denis Barbier]

    *) Expand attributes in unknown macros (28-Feb-2000):
       [Denis Barbier]

    *) Internal changes in macro parser (26-Feb-2000):
       The macro parser is remade in order to be more robust. Expansion
       modes are now explained in the doc.
       [Denis Barbier]

    *) More comprehensive messages on error (18-Feb-2000):
       When a warning is printed, it includes file name and line
       number.
       [Denis Barbier]

    *) Fix support for frozen files (18-Feb-2000):
       This is the first working version.
       [Denis Barbier]

    *) Merge synclines tags into <__file__> and <__line__> (16-Feb-2000):
       [Denis Barbier]

  Changes between 0.7.2 and 0.7.1:

    *) Add <synclines-push> and <synclines-pop> tags (16-Feb-2000):
       These macros will help debugging within WML.
       [Denis Barbier]

    *) Remove <eval> and <quote> tags (16-Feb-2000):
       A change in how macros are quoted and evalled make these macros
       useless.
       [Denis Barbier]

  Changes between 0.7.1 and 0.7.0:

    *) Fix escaped quotes in attributes (13-Feb-2000):
       [Denis Barbier]

    *) Fix expansion of malformed tags (13-Feb-2000):
       When an opening angle is followed by a valid name, which is
       neither followed by a space nor a closing angle, this rag must
       be written verbatim. For instance, <a+1> was expanded into <a>+1>.
       [Denis Barbier]

    *) Add tags: <capitalize> <at-end-of-file> <eval> (13-Feb-2000):
       [Denis Barbier]

    *) Allow spaces in variable assignments (13-Feb-2000):
       Constructs like <set-var i = 0> are now parsed like <set-var i=0>.
       [Denis Barbier]


  mp4h 0.7.0 (11-Feb-2000):
    First public release.
