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