[an error occurred while processing this directive]
Pretests - TeX Live - TeX Users Group
Pretesting TeX Live 2025
The entire TeX Live community greatly
benefits from all testing before the official release. The more people
who test in advance, the better the final release can be. It is also the
best opportunity to influence and improve the behavior of TL. Please
give it a try if you can.
As distributed, the pretest will not interfere with any existing
installations of TeX, either native TeX Live or operating system
distributions.
On this page: downloading
- installing
- testing
- updating
- reporting
- migrating
- news.
Downloading
You can retrieve the pretest files from one of
these hosts: copy-paste an https or ftp url when running the
installer directly, or use an rsync url for mirroring, as described
below. Our thanks to these sites for making their space and bandwidth
available. And more mirrors are welcome.
You can do a network installation of TL, or mirror the whole
tlpretest directory, or start from an existing up-to-date installation:
- To do a network installation, download either
install-tl-unx.tar.gz (Unix) or install-tl.zip
(larger; Windows or Unix), unpack it, and run the included
install-tl script, as described below. To reiterate: you must
use install-tl from the pretest; trying to work with a TL installation
from previous years will fail completely.
- To mirror the whole directory, rsync is the most efficient method:
rsync -a --delete --exclude="*.pkg*" somemirror::/pretest/path/ /your/local/dir
Add -v if you want to see the names of the files as they
are transferred.
Add -L if your system does not support symbolic links.
Full rsync
documentation.
After mirroring the directory, run the install-tl script, below.
You can use wget or other tools to mirror via http or ftp need be.
Whatever the method, do not fail to exclude mactex* or you will
be doubling the (already quite large) transfer.
Conversely, if you are only interested in MacTeX, you can mirror/download only the full
mactex-*.pkg file (several gb) or
mactex-basictex-*.pkg (100+mb), as in, for the full MacTeX:
rsync -a --delete --include="mactex-2*" --exclude="*" somemirror::/pretest/path/ /your/local/dir
- To start with an existing installation, see below.
For regular installations via download (i.e., not mirroring), we
highly recommend installing the
LWP Perl package if you don't already have it.
The pretest build runs nightly, ending by 04:00 Copenhagen time
unless something goes wrong. The mirror hosts should all be up to date
within a few hours after that. (Current time in Denmark: Monday, 28-Apr-2025 07:45:57 MDT.)
Installing
After downloading as above, you can run the script
install-tl (Unix) or install-tl-windows.bat (Windows)
to perform the installation. We just use install-tl as the
command name in these examples:
If you are performing a network installation, the pretest repository
location from which to install must be specified, as shown in
these examples (see downloading above for the
location urls). The location must be an ftp or http url (not
rsync).
But in the case of installing from your own mirrored repository, you
should omit -repository location from the given command
lines.
- install-tl -repository location -gui text
for text (command line) mode; this is the default on normal Unix, but
not on Windows or Macs.
- install-tl -repository location -gui
is the default on Windows and Macs. It runs a Tcl/Tk-based GUI if
Tcl/Tk is available, simple at startup but with a button to invoke
the advanced interface. If Tcl/Tk is not available, falls back to
text mode. TeX Live includes a Tcl/Tk runtime for Windows.
For information on all of the installer options, run
install-tl --help, or see the install-tl documentation page.
Testing
After a successful installation, please first try simple test
documents, such as latex small2e and
pdflatex sample2e. If that works, even
more useful is to try your real-life documents, to check that they still
work as expected. If third-party packages have changed incompatibly,
their maintainers should be contacted directly.
Updating
After a successful installation, you can update from the
tlpretest repository using tlmgr from
time to time, if you wish. In the event of unusually drastic changes
during the pretest you may have to reinstall.
Reporting problems
Please email bug reports, suggestions, comments on TeX Live itself
(the installation process, tlmgr, etc.) to tex-live@tug.org (archive). Bugs about
specific packages should be reported to the package maintainers; TeX
Live's basic job is to install (some of) what is on CTAN, not make
changes on top of it. Resources for general
questions and help using TeX are available.
Migrating from the pretest to the release
The last pretest build is usually close to the official release. If
you are using the standard directory setup, you can rename your pretest
installation (say, /usr/local/texlive/pretest) to the per-year
directory (/usr/local/texlive/2025) and change your search
path. The other change you will most likely need to make is to take updates
from CTAN again: tlmgr option repo ctan.
Then, after the release is made, a normal update
(tlmgr update --self --all) should sync with
whatever changes were made after the last pretest. The result should be
equivalent to doing a full installation.
Initializing from a current installation
For people comfortable with the command line: if you have an
up-to-date TL installation, you can use it as the basis for the pretest
installation instead of downloading everything again. In short:
cd /usr/local/texlive # adjust path as needed if not default
mkdir pretest
ls pretest # check that you're starting with an empty dir
cd 2024 # cd to directory of your current/up-to-date TL installation
# do the big copy, preserving symlinks:
nice -19 cp -ar *.* bin/ README install-tl texmf-{dist,local} tlpkg ../pretest/
cd /usr/local/texlive/pretest
PATH=`pwd`/bin/x86_64-linux:$PATH # or whatever current platform
wget PRETEST-URL/update-tlmgr-latest.sh # or curl, whatever
sh update-tlmgr-latest.sh
tlmgr option repo PRETEST-URL
tlmgr update --self && tlmgr update --all
Then you'll probably want to permanently adjust your PATH so the new
binaries are found first, in whatever way you usually do.
The critical thing here is the cp. The -a option to GNU
cp preserves symlinks; if your cp doesn't have that, use tar or another
method to do the copy instead of cp. Symlinks must be preserved.
The PRETEST-URL placeholder string means one of the pretest repositories.
Notable changes
Updates to the main
TeX Live documentation and the translations
are in progress, as is the list of changes.
As always, there are pervasive updates to packages and programs.
We can't list them all, but here are the major user-visible changes in
the principal programs since the initial TL24 release:
- Cross-engine updates
-
- Generate PDF-1.7 in all formats, both plain and LaTeX; before, it was
1.5. You may need an older version, especially for printing companies.
You can generate, e.g., PDF-1.4 in various ways:
- Running ps2pdf14 on the PDF file after it's generated
by TeX; this simple wrapper is part of Ghostscript. Other
external software can do the same job.
- LaTeX with PDF backends: \pdf_version_gset:n{1.4}
- pdfTeX: \pdfmajorversion=1 \pdfminorversion=4
- LuaTeX: \pdfvariable majorversion=1 \pdfvariable minorversion=4
- XeTeX: \special{pdf:majorversion:1}\special{pdf:minorversion:4}
- If TeX exits due to the -halt-on-error option,
write the help message to the log file, as happens by default.
- New primitive parameter \ignoreprimitiveerror; if set to 1,
the error "Infinite glue shrinkage found in box being
split" becomes a warning, so the program exit status is not
changed to failure. Other values are reserved for future use.
(Background: LaTeX2e
news 39, section “Enhancements to the new mark
mechanism”.
- Scaling fonts to >= 2048pt now results in an error message, instead
of (unhandled) arithmetic overflow or silent changing of the user's value.
- luatex (full LuaTeX news)
- LuaJIT 2.1.1736781742.
- New luaffi lib, supporting aarch64.
- If \tracinglostchars=4, warn about missing characters when
glyphs are processed, instead of waiting until typesetting needs them.
If \tracinglostchars=5, make that “early”
diagnostic into an error.
- New primitive \mathemptydisplaymode; when set to
to 1, empty paragraphs before a display equation will be ignored.
By default paragraphs before a display equation containing dir nodes
are not ignored, which has been the traditional behavior.
- For PNG handling, we no longer set the attr on the mask. If we get a report
about dropping this we could add a maskattr feature, but one
should consider to include a correct pdf of the image instead, it's
more robust.
- Handle token combiners in immediate assignments.
- Cross-engine updates noted above.
- metapost (full MetaPost news)
-
- pdftex (full pdfTeX news)
- new primitive \pdfptexuseunderscore to use _ instead of .
in various dictionary entries, e.g., PTEX_Fullbanner instead of
PTEX.Fullbanner.
- Don't omit real spaces just because the font changes.
- Increase tolerance for detecting interword spaces in overfull lines.
- Ignore tiny resolutions like 1x1 embedded in images instead of
exceeding \maxdimen.
- Cross-engine updates noted above.
- (e)(u)ptex
(full ChangeLog)
- Support combining characters with multiple codepoints,
Unicode Latin characters and 16-bit OFM Level-0 with
new kcatcodes: modifier(20), latin_ucs(14).
- Cross-engine updates noted above.
- xetex (full XeTeX news)
- Cross-engine updates noted above.
- dvipdfmx (full dvipdfmx news)
- The ebb executable is now a separately-maintained script
instead of a link to dvipdfmx.
- Support upTeX new encoding for combining characters via virtual fonts.
- Fixes for embedded TrueType fonts with >127 glyphs, and more.
- Fixes for including images multiple times.
- cweb (full cweb news)
- New option +F for cweave and ctwill for compound statements.
- Sync pdf bookmark pages with table-of-contents.
- Integration of Martin Ruckert's solution for faster index sorting.
- Support macro \9 for sorting names-of-the-sections.
- Improved sorting algorithm in ctwill-proofsort.
- Output names-of-the-sections in ctwill format.
- dvips (full dvips news)
- Support upTeX new encoding for combining characters via virtual fonts.
- kpathsea (full Kpathsea news)
- kpsewhich outputs a blank line when a given file cannot be
found, if more than one file to search for is specified.
- tlmgr (full tlmgr news)
- tlmgr info: new option --only-files to just
report the files for a given package.
- tlmgr search: new option --json.
- Other programs
- updmap creates the generically-named output files as
copies by default.
- latexminted is a new program, included in the safe list for
execution from within TeX, so that documents using minted no
longer need run with the unrestricted --shell-escape.
- ebb and extractbb are now
separately-maintained Lua scripts instead of symlinks to
dvipdfmx, for robustness.
- Windows
- Visual Basic usage in uninstall-windows and
runscript.tlu has been replaced by PowerShell, since VB is
optional as of Windows 11.
- MacTeX
- Again this year, MacTeX-2025 supports both Arm and Intel processors
on macOS 10.14 (Mojave, 2018), and higher. It installs:
- TeX Live 2025.
- Ghostscript-10.04.0.
- libgs and mutool, for dvisvgm. In
previous years, this dvisvgm support required X11, but that
requirement is eliminated in 2025 and dvisvgm will work both
with and without X11.
- HintView 2.0, which understands the color extensions added to the
latest hitex in TeX Live 2025.
- Asymptote, which now requires macOS 11 (Big Sur, 2020) or higher.
- TeXShop 5.49, which supports Apple's latest Apple Intelligence features,
including Writing Tools.
- Platforms
- The x86_64-linux binaries are now built on Alma Linux 8,
since support for CentOS 7 (even for security updates) ended as of
June 30, 2024. We regret this but see no alternative. Binaries for
older systems are available from other sources.
TL now provides a file scripts-targets.lst with both the
name and the target for symlinked scripts, for the convenience of
distros. It's in
Build/source/texk/texlive/linked_scripts. The longstanding file
scripts.lst, with just the targets, in that directory, is still
maintained.
If you discover other changes that should be noted, please report them.
Such documentation improvements are useful for the whole TeX Live community.
$Date: 2025/02/13 23:25:07 $;
TeX Live;
[an error occurred while processing this directive]