TeX Live 2026 - bugs and updates
Most of TeX Live is a redistribution of
packages and programs from elsewhere, primarily CTAN. So, the place to send bug reports varies:
- If you have problems with a TeX document, e.g., a package is
not working, report it to the package maintainer. As a rule,
package-specific fixes are not installed directly in TL; instead, new
versions of packages need to be uploaded to CTAN.
- If you have questions about using TeX, or need help with TeX, please
use the general help resources.
- To report a bug in TeX Live installation or infrastructure, email
the public mailing list
tex-live@tug.org (public archives).
- For security-related reports, please use the tlsecurity@tug.org mailing
list (private archives).
Common requests:
- If you need to use alternate binaries, our recommended approach is
the custom binary support in the TL
installer. Numerous additional binary sets are available through
links on that page. Compiling from source is also an
option.
- TL does not provide modules for scripting languages, or interpreters
themselves (except for texlua; and, only on Windows, a minimal
Perl). Thus it is up to each user to install any needed dependencies of
third-party scripts. More info.
Known issues in TeX Live 2026
- In the original release, (x)dvipdfmx misinterpreted certain
\special{PSfile=...} inclusions. This was fixed in dvipdfmx
version 20260317.
Notable changes
As always, there were pervasive updates to packages and programs
(highlights of changes).
We can't list them all, but here are some of the principal user-visible
changes since TL25:
- Cross-engine updates
-
- When the “Infinite glue shrinkage” error is
ignored (see the TeX Live 2025 release notes), the word
“error” is no longer included in the output, and the message
is written only to the log file. This was a source of minor confusion
and false positives.
- hitex (full HiTeX news)
- Now exclusively uses the UTF-8 input encoding.
- OpenType and TrueType fonts are now supported minimally (no
ligatures, no math); this will improve in time.
- \Uchar and \Ucharcat primitives added.
- The LaTeX kernel needs updates for this version, so hilatex
is not available for the time being.
- Major changes throughout the code base, including the HINT viewers, to
implement the above. Use with care!
- Cross-engine updates noted above.
- luatex (full LuaTeX news)
- New luaffi.
- Lua bindings for the HarfBuzz subset API.
- read_img now looks in a given --output-directory.
- Saves and restores pdf->objcompresslevel along with
pdf->compress_level.
- texlua errors print tracebacks.
- set_macro check for removing trailing space improved.
- Wrong spacing around display with \matheqdirmode=1
partially fixed.
- Restored \mathflattenmode.
- Fixes for legacy handling of TrueType fonts.
- Experimental extension to ToUnicode for Type 1 fonts.
- Maximum size of the destination names table for PDF output raised to
1048576.
- Additional value field for write nodes (getfield) for
unexpanded token tables.
- Some unused modes made obsolete.
- Cross-engine updates noted above.
- metapost (full MetaPost news)
- mp_number_to_scaled returns a 64-bit signed integer instead
of the system-dependent int. Internally, start on replacing
int with int64_t in general.
- mp_hard_times fixed.
- Fixes for weave.
- Help message reorganized and updated for consistency.
- pdftex (full pdfTeX news)
- Don't complain about PDF minor version <=2 unless major version == 1.
- Don't erroneously shift fraction denominators or other text if
\pdfpageheight is used.
- Fix overlapping text in ptmr8r and other fonts.
- If the environment variable TEXMF_DEBUG_PNG_COPY is set to 1, report
attributes of each png image and whether it was copied.
- Cross-engine updates noted above.
- (e)(u)ptex
(full ChangeLog)
- Cross-engine updates noted above.
- xetex (full XeTeX news)
- Cross-engine updates noted above.
- dvipdfmx (full dvipdfmx news)
- Option -o - to send output to stdout reenabled, after being
unintentionally disabled for several years.
- cweb (full cweb news)
- All cweb programs work --verbosely by default again.
- All cweb programs no longer fail in case of warning messages.
- ctangle produces far less whitespace in preprocessor macros.
- ctwill-proofsort supports multiple definitions for the same
identifier.
- upmendex (full upmendex news)
- Experimental support for Brahmic scripts (Bengali, Gurmukhi,
Gujarati, Kannada, Lao, Malayalam, Oriya, Sinhala, Tamil, Telugu).
- kpathsea (full Kpathsea news)
- New configuration value texmf_nlink_for_leaf to specify
whether the st_nlink=2 check is made to decide whether
we're in a leaf directory; in the default texmf.cnf, the check is
now disabled.
- The configuration value openin_any no longer has any effect;
the interface functions are still compiled into the library, but now
consider any filename to be ok for reading. To the best of anyone's
knowledge, no value but `a' was ever useful (or used),
- tlmgr (full tlmgr news)
- Check for backup container creation failure.
- In --usermode, do not warn about texlive-scripts being missing.
- Other programs
- fmtutil, updmap: make self-locating as with tlmgr.
- New program xdvipsk, an extended dvips with
support for more image formats and (with LuaTeX) OpenType and TrueTYpe
fonts. See article by
Sigitas Tolusis in TUGboat.
- Many man pages substantially updated.
- MacTeX
- MacTeX-2026 now supports Big Sur (2020, macOS 11) and higher, on both
Intel and Arm. Support for Mojave (2018) and Catalina (2019,
macOS 10) has been dropped. It installs:
- TeX Live 2026;
- Ghostscript-10.06.0;
- TeXShop, including a special version supporting Liquid Glass;
- LaTeXiT, BibDesk, hintView.
The small BasicTeX
distribution for Macs (download size about 120MB) now includes all
core packages for tagging support, the LaTeX -dev engines for testing,
and tex4ht. Those who would like to install this on other platforms can
use scheme-small. BasicTeX supports all three main typesetting
engines: pdfLaTeX, XeLaTeX, and LuaLaTeX.
- Platforms
- See MacTeX note just above. Also, i386-linux, aarch64-linux, and
armhf-linux binaries are now built on Debian bullseye (initially
released 2021). Finally, the asy(mptote) binary for aarch64-linux has
been dropped.
Finally, many thanks to Siep Kroonenberg for her work on TeX Live,
especially Windows support, for many years. She has retired and is
moving on to other projects. Thanks Siep, and best wishes!
Bug archives for the
previous release and earlier years remain
online under systems/texlive: both the initial release each
year, and the frozen state at the end of the cycle in
tlnet-final.
If you discover other changes that should be noted, please send them in.
Permanent bugs
These bugs are known, and there are no plans to fix them.
- By default, most .fmt (and .base) files are
sharable among architectures of different types, e.g., with different
endianness or word sizes (32-bit vs. 64-bit). However, with the advent
of Lua as an embedded scripting language, some dumps have become
unportable, namely lualatex, optex, and
context. These formats precompile Lua code into bytecode, which
is architecture-specific for the sake of speed. With TeX Live, if you
need to support multiple architectures with the same tree, you can
explicitly set TEXMFSYSVAR to different directories on the
different systems. More discussion.
- TeX fails to trap arithmetic overflow when dimensions
are added or subtracted; this was an intentional decision by Knuth.
Cases where this occurs are rare, but when it does the program may
crash, and/or the generated DVI file will be invalid. Patches to catch
such overflow cases would be welcome, and Knuth has said that detecting
overflow is an acceptable change for the program to still be called
TeX.
$Date: 2026/03/17 16:19:30 $;
TeX Live;
TUG home page;
join TUG/renew membership;
webmasters;
facebook;
x;
bluesky;
mastodon.