General:
* Donald Knuth’s changes for his 2021 tuneup of TeX and Metafont are
incorporated (https://tug.org/TUGboat/tb42-1/tb130knuth-tuneup21.pdf). They
are also available on CTAN as the knuth-dist and knuth-local packages. As
expected, the fixes are for obscure cases and do not affect any behavior in
practice.
* Except in original TeX: if \tracinglostchars is set to 3 or more, missing
characters will result in an error, not just a message in the log file, and
the missing character code will be shown in hex.
* Except in original TeX: a new integer parameter \tracingstacklevels, if
positive, and \tracingmacros is also positive, causes a prefix indicating the
macro expansion depth to be output on each relevant log line (e.g., ~.. at
depth 2). Also, macro logging is truncated at a depth ≥ the parameter value.
Aleph: The Aleph-based LaTeX format, named lamed, has been removed. The aleph
binary itself is still included and supported.
LuaTeX:
* Lua 5.3.6.
* Callback for nesting level used in \tracingmacros, as generalized variant
of the new \tracingstacklevels.
* Mark math glyphs as protected to prevent processing as text.
* Removed width/ic compensation for traditional math code path.
MetaPost:
* SOURCE_DATE_EPOCH environment variable support for reproducible output.
* Avoid wrong final % in mpto.
* Document -T option, other fixes to manual.
* Value of epsilon changed in binary and decimal modes, so mp_solve_rising_cubic
works as expected.
pdfTeX:
* New primitives \pdfrunninglinkoff and \pdfrunninglinkon; e.g., for
disabling generation of links in headers and footers.
* Warn instead of aborting when “\pdfendlink ended up in different nesting
level than \pdfstartlink”.
* Dump \pdfglyphtounicode assignments in fmt file.
* Source: poppler support removed, as it was too hard to keep in sync with
upstream. In native TL, pdfTeX has always used libs/xpdf, which is cut-down
and adapted code from xpdf.
XeTeX: Fixes for math kerning.
Dvipdfmx:
* Ghostscript is now invoked safely by default; to override (assuming all
input files are trusted), use -i dvipdfmx-unsafe.cfg. To use PSTricks with
XeTeX, this is required, as in:
xetex -output-driver="xdvipdfmx -i dvipdfmx-unsafe.cfg -q -E" ...
* If an image file is not found, exit with bad status.
* Extended special syntax for color support.
* Specials for manipulating ExtGState.
* Compatibility specials pdfcolorstack and pdffontattr.
* Experimental support for dviluatex’s extended fnt_def.
* Support new feature of virtual font to fallback Japanese font definition.
Dvips:
* Default PostScript document title is now the basename of the input file,
and can be overridden with the new option -title.
* If an .eps or other image file is not found, exit with bad status.
* Support new feature of virtual font to fallback Japanese font definition.
General:
* The \input primitive in all TeX engines, including tex, now also accepts a
group-delimited filename argument, as a system-dependent extension. The usage
with a standard space/token-delimited filename is completely unchanged. The
group-delimited argument was previously implemented in LuaTeX; now it is available
in all engines. ASCII double quote characters (") are removed from the filename,
but it is otherwise left unchanged after tokenization. This does not currently
affect LaTeX’s \input command, as that is a macro redefinition of the standard
\input primitive.
* New option –cnf-line for kpsewhich, tex, mf, and all other engines, to support
arbitrary configuration settings on the command line.
* The addition of various primitives to various engines in this and previous years
is intended to result in a common set of functionality available across
all engines.
epTeX, eupTeX: New primitives \Uchar, \Ucharcat, \current(x)spacingmode, \ifincsname;
revise \fontchar?? and \iffontchar. For eupTeX only: \currentcjktoken.
LuaTeX: Integration with HarfBuzz library, available as new engines luahbtex
(used for lualatex) and luajithbtex. New primitives: \eTeXgluestretchorder,
\eTeXglueshrinkorder.
pdfTeX: New primitive \pdfmajorversion; this merely changes the version number
in the PDF output; it has no effect on any PDF content. \pdfximage and similar
now search for image files in the same way as \openin.
pTeX: New primitives \ifjfont, \iftfont. Also in epTeX, upTeX, eupTeX.
XeTeX: Fixes for \Umathchardef, \XeTeXinterchartoks, \pdfsavepos.
Dvips: Output encodings for bitmap fonts, for better copy/paste capabilities.
pkglint -r --network --only "migrate"
As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
20190410:
Kpathsea: More consistent brace expansion and path splitting; new variable TEXMFDOTDIR instead of hard-coded . in paths allows for easily searching additional or sub-directories (see comments in texmf.cnf).
epTEX, eupTEX: New primitives \readpapersizespecial and \expanded.
LuaTEX: Lua 5.3 now used, with concomitant arithmetic and interface changes. The homegrown library pplib is used to read pdf files, thus eliminating the dependency on poppler (and the need for C++); Lua interface changed accordingly.
MetaPost: r-mpost command name recognized as an alias for invocation with the –restricted option, and added to the list of restricted commands available by default. Minimum precision now 2 for decimal and binary mode. Binary mode no longer available in MPlib but still available in standalone MetaPost.
pdfTEX: New primitive \expanded; if new primitive parameter \pdfomitcharset is set to 1, the /CharSet string omitted from the PDF output, since it cannot feasibly be guaranteed correct, as required by PDF/A-2 and PDF/A-3.
XeTEX: New primitives \expanded, \creationdate, \elapsedtime, \filedump, \filemoddate, \filesize, \resettimer, \normaldeviate, \uniformdeviate, \randomseed; extend \Ucharcat to produce active characters.
tlmgr: Support curl as a download program; use lz4 and gzip before xz for local backups, if available; prefer system-provided binaries over binaries provided with TEX Live for compressor and download programs, unless the environment variable TEXLIVE_PREFER_OWN is set.
install-tl: New option -gui (with no argument) is the default on Windows and Macs, and invokes a new Tcl/TK GUI (see sections 1.3 and 3.1.6).
Utilities:
cwebbin (https://ctan.org/pkg/cwebbin) is now the CWEB implementation in TEX Live, with support for more language dialects, and including the ctwill program to make mini-indexes.
chkdvifont: report font information from DVI files, also from tfm/ofm, vf, gf, pk.
dvispc: make a DVI file page-independent with respect to specials.
MacTEX: x86_64-darwin now supports 10.12 and higher (Sierra, High Sierra, Mojave); x86_64-darwinlegacy still supports 10.6 and newer. The spell checker Excalibur is no longer included, since it requires 32-bit support.
Platforms: removed sparc-solaris.
Updated converters/dvi2tty to 6.0.0nb1
Updated fonts/afm2pl to 0.7.1nb3
Updated fonts/gsftopkk to 1.19.2nb8
Updated fonts/lcdftypetools to 2.106
Updated fonts/ps2pkm to 1.8nb1
Updated fonts/ttf2pk to 2.0nb3
Updated fonts/ttfdump to 0.5.5nb4
Updated print/cjkutils to 4.8.4nb2
Updated print/dvidvi to 1.1nb1
Updated print/dviljk to 2.6.5nb8
Updated print/dvipdfmx to 20170318
Updated print/dvipsk to 5.997
Updated print/kpathsea to 6.2.3
Updated print/lacheck to 1.28nb2
Updated print/luatex to 1.0.4
Updated print/ptexenc to 1.3.5
Updated print/seetexk to 1.1nb3
Updated print/tex4ht to 0.0.20170523
Updated print/vlna to 1.5nb3
Updated print/web2c to 2017
Updated print/xdvik to 22.87.03nb1
Updated print/xetex to 0.99997
Updated print/xpdfopen to 0.86nb2
Updated textproc/makeindexk to 2.15nb9
Updated textproc/mendexk to 2.6fnb7
Updated fonts/afm2pl to 0.7.1nb2
Updated fonts/gsftopkk to 1.19.2nb7
Updated fonts/lcdftypetools to 2.105
Updated fonts/ps2pkm to 1.8
Updated fonts/ttf2pk to 2.0nb2
Updated fonts/ttfdump to 0.5.5nb3
Updated fonts/tex-academicons{,-doc} to 1.7.0
Updated fonts/tex-adobemapping to 2016
Updated fonts/tex-alegreya{,-doc} to 2016
Updated fonts/tex-cabin{,-doc} to 2016
Updated fonts/tex-cbfonts-fd{,-doc} to 1.1
Updated fonts/tex-cmcyr{,-doc} to 2016
Updated fonts/tex-cmtiup{,-doc} to 2.1
Added fonts/tex-cmexb{,-doc} version 2016
Updated fonts/tex-cs to 2016
Updated fonts/tex-dantelogo{,-doc} to 0.03
Updated fonts/tex-drm{,-doc} to 4.4
Updated fonts/tex-erewhon{,-doc} to 1.05
Updated fonts/tex-fbb{,-doc} to 1.10
Updated fonts/tex-fetamont{,-doc} to 1.6
Updated fonts/tex-fira{,-doc} to 4.1.39731
Updated fonts/tex-fontawesome{,-doc} to 4.6.3.1
Updated fonts/tex-fontname{,-doc} to 2016
Updated fonts/tex-fontools{,-doc} to 2016
Updated fonts/tex-fontspec{,-doc} to 2.5a
Updated fonts/tex-gothic{,-doc} to 2016
Updated fonts/tex-inconsolata{,-doc} to 1.10
Updated fonts/tex-ipaex-type1{,-doc} to 0.3b.39722
Updated fonts/tex-knuth-local to 2016
Updated fonts/tex-luaotfload{,-doc} to 2.7.2
Updated fonts/tex-mflogo{,-doc} to 2016
Updated fonts/tex-newpx{,-doc} to 1.295
Updated fonts/tex-newtx{,-doc} to 1.466
Updated fonts/tex-newtxsf{,-doc} to 1.04
Updated fonts/tex-roboto{,-doc} to 2016
Updated fonts/tex-sourcecodepro{,-doc} to 2.6
Updated fonts/tex-sourceserifpro{,-doc} to 1.2
Updated fonts/tex-tex-gyre-math{,-doc} to 2016
Added fonts/tex-ptex-fonts{,-doc} version 0.0.2016
pdfTEX: Support JPEG Exif as well as JFIF; do not even emit a warning if
\pdfinclusionerrorlevel is negative; sync with xpdf 3.04.
LuaTEX: New library newtokenlib for scanning tokens; bug fixes in the normal
random number generator and other places.
XeTEX: Image handling fixes; xdvipdfmx binary looked for first as a sibling
to xetex; internal XDV opcodes changed.
MetaPost: New numbersystem binary; new Japanese-enabled upmpost and
updvitomp programs, analogous to up*tex.
Infrastructure: The fmtutil script has been reimplemented to read
fmtutil.cnf on a per-tree basis, analogous to updmap. Web2C mktex* scripts
(including mktexlsr, mktextfm, mktexpk) now prefer programs in their own
directory, instead of always using the existing PATH.
gsftopk is a program that uses Ghostscript to render PostScript fonts
(including mock-ups of the ``built-in'' 35; e.g., Times-Roman) and
convert the bitmaps to .pk format for use with xdvi or other .dvi
viewers. Contrary to what its name may suggest, gsftopk can handle
all types of fonts acceptable to Ghostscript, including .pfa, .pfb,
and .ttf (TrueType) files.
gsftopkk is the same basic program, modified to work with Karl Berry's
Kpathsea path-searching library.