1This file records noteworthy changes.  (Public domain.)
2
36.1.1 (for TeX Live 2013, 30 May 2013)
4* just one tree: merge texmf into texmf-dist.
56.1.0 (for TeX Live 2012, 1 July 2012)
6* texmf.cnf is found in the great-grandparent's texmf-local,
7  corresponding to the default TeX Live installation.
8* New formats for .ris, .bltxml.
9* Merge with W32TeX.
10
116.0.1 (for TeX Live 2011, 5 July 2011)
12* Trailing comments and whitespace omitted from config values.
13* Add .tlu to type lua suffixes, and .dfont to truetype suffixes.
14* Prefix program_invocation{,_short}_name with kpse_.
15* Finally remove kpse_set_progname (deprecated since 1998).
16
176.0.0 (for TeX Live 2010, 4 June 2010)
18* Change xmalloc and friends to use size_t, unfortunately changing the ABI.
19
205.0.0 (for TeX Live 2009, 13 October 2009)
21* Make shared library version and general package version the same.
22* Make library re-entrant, thus unavoidable binary API changes.
23* Change build system to Automake.
24
253.5.7 (for TeX Live 2008, 8 July 2008)
26* kpsewhich has new options --all (to report all matches) and --subdir
27  (to limit matches).
28* more file suffixes (.dtx, et al.) and special files (updmap.cfg, et al.)
29  found automatically.
30* add basic Lua support.
31* add 64-bit functions for pdftex.
32* autoconf support finally modernized.
33
343.5.6 (for TeX Live 2006-07, 30 December 2006)
35* longstanding minor portability/warnings problems.
36
373.5.5
38* Copyrights of some source files were erroneously attributed to FSF.
39* On Unix, accept the semicolon as well as the colon in environment
40  variables like TEXINPUTS.
41* Keep metafont from choking on large literals (> 4000) when calling
42  mktexpk.
43
443.5.4 (7 March 2005)
45* Change of some standard environment/texmf.cnf variables:
46  HOMETEXMF -> TEXMFHOME
47  VARTEXMF -> TEXMFVAR
48  TEXMFVAR, TEXMFCONFIG: Always defined for the sake of teTeX 3.0.
49  TEXMFSYSVAR, TEXMFSYSCONFIG: Added for the sake of teTeX 3.0.
50* mktex*: A new option for MT_FEATURES in mktex.cnf: texmfvar.  If
51  selected, files that would be written into a system texmf tree go
52  to the TEXMFVAR tree.  Overriden by varfonts.
53
543.5.3 (28 November 2004)
55* New options for kpsewhich
56  -var-value=VARIABLE  to expand $VARIABLE without having to give an $
57                       on the command line.
58  -engine=ENGINE       to set the engine name, used in some search paths.
59* New formats: kpse_enc_format, kpse_cmap_format, kpse_sfd_format,
60  kpse_opentype_fomat, kpse_pdftex_config_format, kpse_lig_format,
61  kpse_texmfscript_format.
62* Add .afmt to the suffixes for kpse_fmt_format.  Aleph uses this.
63* Rename access to kpseaccess.
64* Rename readlink to kpsereadlink.
65* Stop search early if we're given absolute or explicit relative names.
66* Add 'angle(0,0)' to the metafont errors mktexpk will ignore.
67* The withenable.ac script (used in configure) will fall back on using
68  kpsewhich to look for texmf trees.
69* If ls-R is not found check for ls-r as well.
70* kpsewhich: add -var-value option.
71
723.5.2 (19 February 2003)
73* Critical bugfix to db.c.
74
753.5.1 (17 February 2003)
76* No news.
77
783.5.0 (15 February 2003)
79* Use libtool.
80* Do absolute searches again.
81* Retain '${prefix}' in Makefile for texmf if that's how we found the tree.
82
833.4.6 (7 February 2003)
84* Support for e-Omega.
85* Change to the search algorithm: when there are several possibilities, look
86  for all of them in one directory before moving to the next directory.
87
883.4.5 (28 January 2003)
89* Remove "." from the TEXCONFIG path.
90
913.4.4 (16 January 2003)
92* Add VARTEXMF HOMETEXMF to the default paths of texmf.in.
93
943.4.3 (11 January 2003)
95* Minor fixes.
96* Use both .w and .web suffixes for cweb.
97
983.4.2 (23 December 2002)
99* Minor fixes to makefiles.
100* A Win32 implementation of the fork/exec path in mktex.  This leaves
101  MSDOS to be done.
102
1033.4.1 (20 December 2002)
104* A couple of fixes for the fork/exec code.
105
1063.4.0 (14 December 2002)
107* 3.4.x number as ABI is certainly broken now.
108* Change the way the mktex* command lines are set up on unix systems.
109  Now we call fork/exec directly instead of using popen.
110  This code is not yet implemented for Windows/DOS.
111* We're now (un?)fairly restrictive on what names are allowed for fonts.
112  That part of the code probably need improvement.
113* When reading names from the ls-R file, they are no longer case-smashed.
114  So on platforms where this matters, the case-smashing should occur before
115  names are inserted into the ls-R file -- only lowercase should be used in
116  that file.
117
1183.3.11 (13 November 2002)
119* Minor fixes.
120
1213.3.10 (11 November 2002)
122* Minor fixes.
123
1243.3.9 (22 October 2002)
125* New extension: .oft for Omega formats.
126
1273.3.8 (11 October 2002)
128* Add support for mktexfmt (which is normally a link to fmtutil).
129* Check both VAR.progname and VAR_progname in the environment.
130
1313.3.7 (27 November 2001)
132* Minor fixes/changes to assist Omega development.
133
1343.3.6 (18 November 2001)
135* Minor fixes/changes to assist Omega development.
136
1373.3.5 (10 November 2001)
138* Minor bug fixes.
139
1403.3.4 (30 October 2001)
141* Minor bug fixes.
142
1433.3.3 (5 August 2000)
144* On NeXT, 'rm -rf' will not fail, but uses the cwd as its argument.
145  mktexlsr counted on it to fail, with sometimes disastrous results.
146
1473.3.2 (25 April 1999)
148* Minor bug fixes.
149
1503.3.1 (29 May 1999)
151* Minor bug fixes.
152
1533.3 (26 March 1999)
154* Minor bugfixes.
155
1563.2 (15 March 1998)
157* Brace expansion will accept the path separator as well as the comma,
158  e.g., {foo:bar}.
159* For TeX, we only recognize one suffix, because there is no such thing
160  as a canonical list of TeX suffixes.
161* We distinguish between two kinds of suffixes in the code: the standard
162  suffixes which may be appended to filenames when searching; and the
163  alternative suffixes which are never appended, but when found this
164  prevents a search with one of the standard suffixes.
165* kpse_reset_program_name: change assumed program name, resets the search
166  paths, so that searches will work as expected for the new name.
167* kpse_set_program_name: new function, replaces kpse_set_progname.
168* The MakeTeX* scripts have been renamed to mktex* forms.
169
1703.1 (10 November 1997)
171* The support for multiple texmf trees is much improved.
172* New MakeTeX* scripts, based on teTeX's.  These scripts now use
173  heuristics to decide where generated files are placed and which
174  permissions they should have.
175* The varfonts feature is enabled by default.
176* Some MSDOS/Win32 support added to the sources.
177* Change in searching algorithm: if a name doesn't have the default suffix
178  we append it for the first search.  Then we search for the bare name.
179  Thus if you have foo.bar and foo.bar.tex, the latter will now be found
180  first.  Under the old system, you had to specify boo.bar.tex.tex to get
181  foo.bar.tex instead of foo.bar.
182* Prepend the value of KPSE_DOT to relative paths from texmf.cnf if it
183  defined in the environment.  This means we can use . instead of
184  $KPSE_DOT in paths.
185* Define brace expansion so that {a,b}{1,2} expands to a1:b1:a2:b2.  This
186  is different from how shells do it, and exploited in texmf.in.
187* Renamed texmf.cnf.in to texmf.in.
188* New value for debugging: DEBUG_VARS, equal to 64.
189* If a file format has no suffix, allow its long name as the argument to
190  kpsewhich --format.
191
1923.0 (7 February 1997)
193* Distribution terms changed to the GNU Library General Public License.
194* Default directory structure matches the TDS standard. The most
195  important change is in the fonts/ directory: the file type (tfm, pk)
196  is now directly underneath fonts/.  Also, mft/ is now at the top level.
197  `modeless' is used for gsftopk/ps2pk/etc.-generated fonts.
198* Change in searching algorithm: if the name already has a suffix
199  (foo.sty), search for it by itself first, before appending the default
200  suffix (foo.sty.tex).  This loses if you have an executable named
201  foo.bar, with documentation in foo.bar.tex (foo.bar will be found
202  first).  But this is unusual, and the other case is common.
203* Environment variables PATH_program (e.g., TEXINPUTS_latex) checked
204  for, as with configuration file values (TEXINPUTS.latex).
205* Multiple TEXMF trees supported, via the following new facility:
206* Shell brace expansion {foo,bar} implemented, thanks to Bash.
207* Multiple ls-R files supported via the TEXMFDBS path.
208* An ``alias'' database for files in ls-R supported, to handle 8.3 problems.
209* Directories in the ls-R file can be relative (./) as well as absolute (/).
210* New MakeTeX{PK,TFM,MF} scripts with more features, based on teTeX's.
211* DVIPSMAKEPK (etc.) actually overrides the name `MakeTeXPK', as documented.
212* MakeTeX* can be globally disabled via configure options.
213* Support for building as a shared library with configure --enable-shared.
214* Directories whose names begin with `.' are ignored.
215* Some warnings can be suppressed by TEX_HUSH cnf value or envvar.
216* kpsewhich has many new capabilities, documented via --help and in the manual.
217* texfonts.map parsing has an include directive, and @c is a comment.
218* Input lines in texmf.cnf can be continued with \.
219* TEXMFLOG can be set in texmf.cnf, as previously documented.
220* SELFAUTODIR and SELFAUTOPARENT are defined according to the location
221  of the binary, and used to search for texmf.cnf.
222* /// (or more) is equivalent to //.
223* If $HOME = / (as with root on some systems), avoid creating // in paths.
224* Support for AFM, PostScript Type 1 font, source, documentation, Omega,
225  and MetaPost-related file formats.
226* New header kpathsea.h with all #include files.
227* Under DOS, ls-R lines need not start with . or / or \ (e.g., c:).
228* Amiga support.
229
2302.6 (9 January 1995)
231* MakeTeXPK installed from kpathsea, instead of each driver.
232* MakeTeXPK.site looked for in texmf/web2c, instead of texmf/dvips.
233* texmf.cnf installed and looked for in texmf/web2c, instead of texmf.
234* If a mode is not explicitly specified, search all subdirectories (this
235  was actually in a previous release).
236* install-sh only looked for in the top-level directory.
237* kpsewhich replaces and generalizes kpsexpand.
238
2392.5 (15 December 1994)
240* Go back to calling db_insert after a successful MakeTeXPK, and check
241  for lack of an ls-R.
242* Handle case of magstep -.5 for MakeTeXPK properly.
243
2442.4 (28 October 1994)
245* Avoid calling db_insert, which caused a segmentation fault.
246
2472.3 (26 October 1994)
248* Extra :'s in an envvar value, referring to the texmf.cnf value, work.
249* Names like dpi600/cmr10.pk can be found in ls-R.
250* KPATHSEA_DEBUG environment variable checked.
251* Directories like pk/ljfour directly under $TEXMF/fonts are found.
252* New standalone program, kpsexpand, optionally compiled and installed,
253  to do variable expansion (not path searching).
254* Debugging output written to stderr instead of stdout.
255* pxlNNN support removed; I never intended to support `pxl1500', and
256  pxl300 is never used.
257
2582.2 (14 October 1994)
259* MakeTeXPK invoked for the any_glyph type; this is for xdvik.
260* MakeTeXPK sources $(psheaderdir)/MakeTeXPK.site if it exists.
261* pxlNNN/cmr10.pk searched for (as well as dpiNNN/cmr10.pk and cmr10.NNNpk)
262
2632.1 (12 September 1994)
264* Manual goes through TeX, and .cps/.aux files are in the distribution.
265* INSTALL* variables set at the top level.
266* Dependency on GNU tr making paths.h and texmf.sed (->texmf.cnf) removed.
267* texmf.cnf installed if it didn't previously exist.
268
2692.0 (8 September 1994)
270* Runtime configuration file support; see the manual.
271* Both dpi600/cmr10.pk and cmr10.600pk are searched for.
272* ls-R matches $TEXMF//latex2e vs. $TEXMF//latex209.
273* $TEXMFLOG, if set, specifies a filename for logging successful searches.
274* All directory entries beginning with `.' are ignored, not just `.' and `..'.
275* Default path for PK and GF fonts includes the mode name.
276* ls-R is in $TEXMFROOT instead of hardwired at compile time.
277* More debugging flags, and they can be set with client program options.
278* If MakeTeX{PK,TFM} fail, or aren't invoked, a file missfont.log is
279  written with the requisite commands, as in dvips.
280* More 328/329/330 fixes, maybe for the last time.
281* The override font paths (XDVIFONTS etc.) apply only to glyph (PK/GF)
282  searches, not TFM or VF.
283* -g is not the default when linking, to avoid unnecessarily large binaries
284  (due to static libraries) under Linux.
285* configure checks for a smart putenv.
286* Stat results are cached to speed up disk searches.
287
2881.8 (2 April 1994)
289* New target install-info, so the documentation can be installed without
290  the headers.
291* Existing but unreadable files are complained about, instead of just ignored.
292* A leading %% in a path element forbids searching the disk for that
293  element; only a db will be searched (if it exists).
294* The db is only used if it might be relevant to a given path element,
295  not searched first regardless.
296
2971.7 (1 March 1994)
298* Searches can use an externally-built ls-R ``database'', for speed.
299* `VPATH = .' lines removed from generated Makefile, for broken Sun make.
300* A path foo//tfm finds foo/tfm as well as foo/*/tfm.
301
3021.6 (3 February 1994)
303* Memory fault in copying long paths fixed.
304* More variables passed down from the top-level Makefile.
305* Mention SMART_PUTENV in the INSTALL file, and fix bug in xputenv.c
306  when one envvar is a proper prefix of another.
307* More attempts at eliminating magstephalf annoyances.
308* Directory name substitutions are done globally when creating paths.h.
309* Various changes for DOS.
310
3111.5 (24 January 1994)
312* Default paths changed.
313* Defining GCC_WCHAR lets GCC define wchar_t.
314* EXIT_FAILURE and EXIT_SUCCESS defined in all cases (if they're not already).
315* str[r]chr never redefined (I hope).
316
3171.4 (3 November 1993)
318* Check closest fallback font size.
319* All default paths (including dvips') in paths.h.in, not the Makefile.
320* Rearrange directory lists so that dirs in which a file is found
321  migrate to the top.
322* Update for Autoconf 1.7.
323
3241.3 (6 October 1993)
325* Fix free of non-malloced memory bug.
326* Fix uninitialized gf path bug.
327* mkdirchain invoked as an absolute filename.
328
3291.2 (27 September 1993)
330* Running MakeTeXPK is tried before the fallback resolutions.
331* The final bitmap name uses a variable spec, so DOS & OS/2 can get
332  dpi300/cmr10.pk.
333* Document TeX-specific features.
334* Dpi passed to MakeTeXPK via the envvar KPATHSEA_DPI instead of MAKETEX_DPI.
335
3361.1 (26 August 1993)
337* Installation fixes.
338
3391.0 (5 August 1993)
340* Routines to look up TeX font files, default path specifications, etc.
341* Sort-of pattern matching: /foo//bar matches subdirectories
342  /foo/a/bar, /foo/b/bar, /foo/a1/a2/bar, etc.
343* $var and ${var} expansion.
344* Support for MakeTeX... scripts.
345* Support for fallback resolutions and font.
346* Lazy evaluation of path elements.
347* Some runtime debugging support.
348
3490.2 (12 May 1993)
350
351First general release as a standalone library.
352