This file records noteworthy changes.

Version 7.0 (6 February 1997)
* Update from Knuth for tex, mf, dvitype, pltotf, vptovf, and tangle,
  John Hobby's MetaPost (and support programs) included,
  update from P. Breitenlohner to dvicopy 1.5 and patgen 2.3.
* Update for kpathsea 3.0.
* Texinfo manual written.
* Amiga, OS/2, Windows NT support in the sources.
* TeX:
  - if -shell-escape or shell_escape in texmf.cnf is enabled,
    \write18{str} passes str to system(3) for processing by sh.
  - MLTeX extensions (\charsubdef, etc.) can be enabled at runtime.
  - Many array sizes can be set dynamically, in texmf.cnf.
  - MakeTeXTFM installed and enabled by default.
  - IPC communications to an external program for incremental DVI reading.
  - texfonts.map applies to TFM files, as originally intended.
  - More than 256 fonts are allowed.
  - DVI comment (with timestamp) can be overridden.
  - tex.web's consistency checks on .fmt files restored.
* Metafont:
  - A few array sizes can be set dynamically, in texmf.cnf.
  - X11 support disabled by default; configure --with-x to enable it.
  - MakeTeXMF enabled and installed by default.
* TeX, Metafont, MetaPost:
  - If the first line of the main input file starts with %&, the rest of
    the line is used as the fmt/base/mem file (if it can be found),
    except that %&ini means initex/inimf/inimpost.
  - One binary: initex/mf/mpost capabilities merged with virtex/mf/mpost.
  - New option -progname sets program name independently of argv[0].
  - Eight-bit filenames are output correctly in ^^ notation, instead of
    always being simplified to ^^@.
  - MakeTeX* scripts can be named and disabled via texmf.cnf.
  - MakeTeX* scripts are silent if \batchmode is in effect.
  - TEXMFINI environment variable checked for pool/fmt/base/mem lookups.
  - \openout (TeX) and write (MP) by default will not write to files
    whose names start with `.'.
  - ``Small'' versions no longer supported without source hacking.
  - Length bug regarding single non-ASCII characters in MF and MP fixed.
* BibTeX:
  - Some arrays dynamically reallocated as needed, other sizes increased.
  - Default behavior is verbose; new -terse option changes that.
  - Statistics are written to the .blg file.
  - Does not look at TEXINPUTS to find .bst files, but does check
    TEXBIB (after BIBINPUTS).
  - Does not interactively ask for the top-level .aux name.
* All programs:
  - Supply default extensions and default output files.
  - Support the standard --help and --version options.
  - Filenames not arbitrarily restricted in length.
  - Output written in the current directory, not the directory of
    an input file. (Most interesting for tangle.)
  - Times-Roman etc. work as font names, via texfonts.map and subsidiaries.
* dvitype prints decimal opcode numbers with --show-opcodes.
* bibtex and gftodvi never interactively ask for filenames;
  dvitype and dvicopy do not enter interactive dialogues.
* mft looks in MFTINPUTS, not TEXINPUTS.
* Configuration:
  - Optional features are enabled via configure --with-* and --enable-*
    options. Run configure --help.
  - There is no small TeX, Metafont, or MetaPost. If you want it, you'll
    have to change the change files, #define SMALL* yourself, and do
    whatever else is necessary yourself.
* Source hierarchy substantially simplified.
* Web2c:
  - Support for ifndef...endifn, a la ifdef.
  - Support for const expressions.
  - Can generate ANSI code.

Version 6.1 (3 February 1994)
* foo.bar found before foo.tex (found before foo).
* configure links sun.c to sun-sunview.c if SUNWIN is defined.
* -DLONG_64_BITS is supplied automatically (if appropriate).
* Various changes for configure --srcdir.
* Sample MakeTeX* scripts included.

Version 6.0 (24 January 1994)
* Default paths changed.
* Update for TeX 3.1415, etc.
* Change to use the kpathsea library, a la dvipsk and xdvik.

* TeX's \openin command invokes MakeTeXTeX just like \input.

* TeX & Metafont:
  - 16-byte values can be dumped, thus allowing native `long' on the DEC Alpha.
  - But 32-bit integers are used if sharable format files are desired,
    even on 64-bit machines.
  - Interrupts are accepted when waiting for input.
  
* Online output support in Metafont for Regis terminals and the NeXT.
* gftopk can handle characters with up to 100,000 rows.
* vftovp's -charcode-format=ascii works properly.
* patgen doesn't give bizarre numeric output where it should be text.

* configuration:
  - -lX11 is used for OpenWindows.
  - The MakeTeX... scripts are individually selectable by default, and
    can always be invoked if certain environment variables are set.
  - The subdirectory trick using st_nlink can be turned off.

* Makefiles:
  - man/Makefile doesn't remove itself at `clean'.
  - {tex,mf}/clean-tr[ia]p doesn't reinstall a {tex,mf}d.h with the test
     constants.
  - web2c/Makefile removes lex and yacc output at `clean'.
  - mkdirchain invoked as an absolute filename.

* web2c:
  - sync is no longer invoked; instead the Makefiles touch texd.h and
    mfd.h after they are finished.

Version 5.851d (22 February 1993)

* A file `texfonts.map' allows arbitrary mapping of font names (as given
  to, for instance, \font) to filenames.

* Metafont & TeX:
  - If a .tex, .tfm, or .mf file can't be found, MakeTeX{TeX,TFM,MF} is
    invoked before giving up, as in dvips' MakeTeXPK.
  - Sharable format/base files load faster on LittleEndian machines.
  - TEXMFOUTPUT is only used for those files which can't be written in
    the current directory, instead of all files after the first such.
    Its usage is also reflected in the `... written on ...' messages at
    the end of the run.
  - If the DISPLAY environment variable is set, Metafont assumes you are
    running under X11 for the purposes of online output (instead of
    relying on the TERM or MFTERM envvar).
  - Checks for write errors on DVI/GF output.
  - Unusual glue values no longer make TeX dump core on some systems.

* BibTeX:
  - The cross-reference feature works as documented (I had foolishly
    changed the default value of min_crossrefs to eliminate it).
  - New option -min-crossrefs=<number> to change it dynamically.
  - New option -verbose; without it, normal reportage is eliminated.
  - Maximum number of .bib files increased to 100.
  - Non-printable-ASCII characters in .bib files are preserved.

* TeXware:
  - tftopl adds a default extension `.tfm' to the input file if necessary.

* web2c: 
  - Unsigned types are used where possible to represent Pascal
    subranges.  Among other things, this eliminates a system dependency
    in creating format/base files (small_number was defined as `schar',
    which varies between systems).

* configuration:
  - Unpacks into web2c-<version> instead of src-<version>.*.
  - site.h merged into lib/c-auto.h.in and ./Makefile.in.
  - sed is used instead of patch to make the ``small'' change files.
  - sed is used instead of ed to make the trip/trap files.
  - The configure script looks in more directories for the X libraries
    and include files, and is generated from the latest version of Autoconf.
  - mfware and texware directories merged into the others.
  - The web2c version is defined in one place, so system information can
    be added to the banners more easily.

* Makefiles:
  - Makefiles in subdirectories are created by configure.
  - $(srcdir) (i.e., compiling in a different directory) is closer to working.
  - Stamp files are not used at the top level, or for {tex,mf}/convert.
  - New targets install-data and install-exec, to only install
    architecture-(in)dependent files.

* PROBLEMS.W2C has some notes on compiling and using these programs
  under DOS, contributed by melvin@math.psu.edu.

* The man pages have been significantly updated and improved by
  beebe@math.utah.edu.

* The original web files haven't changed.

Release 4.893b:
* Include patches from Tim to web2c to turn off the verbose output,
  unless -d is supplied to web2c.
* Change $(AR) in the MFwindow Makefile to `ar'.
* Try to get the base file from the program name in Metafont, as well in
  TeX.  Implication: mf.script and tex.script are no longer supplied,
  since a link to plain.{base,fmt} named {mf,tex}.{base,fmt} suffices. 
  `make install' doesn't create these links, since they only need to be
  done once.
* Move some stuff from site.h that should never be changed to a new
  file, defaults.h. Add a new definition, SIGNAL_HANDLER_RETURN_TYPE, to
  site.h, to get rid of the warnings in {tex,mf}/extra.c.
* Use a sed script, contributed by eggert@twinsun.com, instead of the
  awk script, at the beginning of the pipeline.
* Fix an unsigned comparison problem in pltotf, that made cc produce
  infinite ligature loops when converting trip.pl.
* Change threshold in Metafont, and f in tftopl, so broken C compilers
  (like some versions of pcc) don't get confused.
* Port vftovp and vptovf. Move pktogf and pktype to fontutil.
* Allow more than 500 kern pairs in pltotf.
* Change the first parameter to {mf,extra}/extra.c to *filename from
  filename[].
* Use a better hack for the mutually recursive procedures in pltotf et al.,
  from Tor Lillqvist <tml@hemuli.atk.vtt.fi>.

Release 2.993+1.9 = 4.893a:
Sebastian contributed the updates to ctex.ch, tftopl.ch, and pltotf.ch. 
Karl did the cmf.ch update.

Release 3.0:
Brings everything up to the new 8-bit versions.
Almost every file has changed at least somewhat, so I'm not going to
list all the changes.  Here are some highlights:
* char is now 0.255 instead of 0..127 in *.defines.
* `packed' is no longer ignored as part of an identifier (e.g., `packed_trie').
* new Makefiles to make it easier to do the trip/trap test, and with all
  the support programs integrated.
* ctex.ch has a hack to get around trie_op_hash being an array with a
  negative lower bound.
* pltotf.ch has a hack to get around mutually recursive routines.
