* Support structured destinations from PDF 2.0.
* PNG /Smask for PDF 2.0.
* Variable font interface for luahbtex.
* Different radical style defaults in mathdefaultsmode.
* Optionally block selected discretionary creation.
* Improvements for TrueType fonts implementation.
* More efficient \fontdimen allocation.
* Ignore paragraphs with only a local par node followed by direction
synchronization nodes.
this is not used, rather it seems to use an internal copy of lua 5.3
instead. while it would be nice if it used our copy instead, for now
removing the luajit requirement at least improves portability.
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 --only "https instead of http" -r -F
With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.
This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
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.