What is "latex-dev"?

Update 2020-07-23

The newest latex-dev announces itself as

LaTeX2e <2020-10-01> pre-release-7 (develop 2020-7-22 branch)
L3 programming layer <2020-07-17> xparse <2020-03-03>

Details about the changes can be found at https://www.latex-project.org/news/2020/07/22/latex-dev-2020-10-1b/

The main changes are

  • xparse is now included in the kernel

  • A general hook management system for LaTeX has been implemented.

    • Hooks and commands provided by packages like atbegshi, everyshi, filehook, atveryend, etoolbox are now in the kernel.
    • Commands to create new hooks have been added
    • Commands to add code to hooks and to control their order have been added

The new hooks can for example be used to add code to environments more easily (but don't try this with figure, it won't like to be boxed ...).

\documentclass{article}
\usepackage{tcolorbox}
\AddToHook{env/quote/begin}{\begin{tcolorbox}[colframe=red]\sffamily}
\AddToHook{env/quote/end}{\end{tcolorbox}}
\begin{document}
\begin{quote}
An important quote
\end{quote}
\end{document}

The new hook system requires a number of internal changes and it does break with some packages. Problematic are packages which patch core commands like \document, \enddocument, \begin, and packages which use low-level commands to patch e.g. the shipout box. A number of packages with such problems have already been identified (e.g. pgf looses some shadings, xecjk redefines \document and so doesn't compile, similar with tex4ht) and we are in contact with the authors to resolve the clashes.

Please report issues that you find with the dev-release in the latex2e github so that they can be corrected

Update 2020-01-21

The newest latex-dev announces itself as

LaTeX2e <2020-02-01> pre-release-3 (develop 2020-1-16 branch)

The main changes are extensions to the NFSS (the New Font Selection Mechanism for LaTeX):

Many modern fonts available these days offer additional font faces, e.g., small caps italics or a condensed font series, etc. To better support these fonts NFSS was extended by incorporating ideas from the mweights, fontaxes and fontspec packages. In addition all symbols formerly provided through the textcomp package are now available out of the box and the use of \oldstylenums got improved.

The release also fixed a number of smaller bugs. A detailed description of the new features and the bug fixes can be found in a draft version of ltnews31 which you can access via texdoc ltnews31 if the pre-release is installed on your computer.

Update 2019-11-21

The newest latex-dev announces itself as

LaTeX2e <2020-02-01> pre-release-2 (development 2019-11-21 branch)

The main change is that it preloads a large part of the expl3 code. This will reduce the loading time for the unicode engines when using fontspec, but also benefit pdflatex documents using xparse or expl3.

lualatex-dev is now based on the new luahbtex engine. This allows to use the harfbuzz library to shape fonts. This will improve the shaping of various scripts.

Update 2019-09-20

The newest latex-dev version now contains also latex-amsmath-dev and latex-tools-dev. The format annouces itself as

LaTeX2e <2019-10-01> pre-release-3 (development 2019-9-18 branch)

The main change is that a number of commands have been made robust. TeXLive user should get the packages through autoinstall, MiKTeX user should check with the package manager and install the packages.

Old Answer

latex-dev is a pre-release of LaTeX from the development branch and made available on CTAN.

It allows users of current TeXLive and MikTeX distributions to test their documents and code against the upcoming LaTeX release with ease.

To use it you only need to compile with a binary with the addition -dev attached. For all major engines/latex variants such executables have been created and added to the distribuations. For example, if you run one of

 pdflatex-dev file
 lualatex-dev file
 xelatex-dev file 

you will see in the log

 LaTeX2e <2019-10-01> pre-release-2

instead of the standard LaTeX2e <2018-12-01>.

You will also see that a number of files from the tex/latex-dev folder will be used:

   .../tex/latex-dev/base/book.cls
   .../tex/latex-dev/graphics/graphicx.sty 

Files which are not in tex/latex-dev will be taken from the standard locations:

  .../tex/latex/graphics-def/pdftex.def

One example of an upcoming feature that is currently only in the pre-release format is the better UTF8-handling. With pdflatex-dev labels with non-ascii-chars in the name no longer error:

\documentclass{article}
\begin{document}
\section{Straße}\label{sec:straße}

\ref{sec:straße}
\end{document}

More information:

https://www.latex-project.org/news/2019/09/01/LaTeX-dev-format/


Perhaps one addition to Ulrike's answer (it is included implicitly in link given in her answer, but worth pointing to very directly without the need to follow the link):

Our hope is to attract additional beta-testers

We don’t expect everybody to start using the development formats to participate in testing, but we hope that people with a strong interest in a stable LaTeX environment (especially developers and maintainers of important packages) will use the new facilities and help us to ensure that future public releases of LaTeX do not (as has happened in the past) require some immediate patches because of issues that were not identified by our internal regression test suite or by other testing that we do.

Any issue identified when using the development format should preferably be logged as an issue on GitHub, following the procedure outlined in https://www.latex-project.org/bugs/ including the use of the latexbug package as described.

Our bug reporting process normally states that issues involving third-party software are out of scope as we can’t correct external packages. However, in the particular case of the development format showing an incompatibility with a third-party package, it is fine to open an issue with us (in addition, please, to informing the maintainer of that package) so that we know about the problem and can jointly work on resolving it.