The team have uploaded a new version of LaTeX2e to CTAN today, and it
should appear in the mirrors over the next day or so. The 'headline'
change here is that we have continued the process started in the
2015/01/01 release of making the kernel more 'aware' of new TeX engines.
This release is focussed on adding low-level support for LuaTeX register
and callback allocation. To date it has been necessary to use a
combination of the luatex and luatexbase contributed packages to provide
allocators for e.g. \attribute registers. This kernel update integrates
such allocators into the kernel.
The new kernel is accompanied by a completely new version of luatexbase,
now supported by David Carlisle and me. This provides a 'wrapper' around
the new kernel allocators such that they will work with existing
packages which expect to use the luatexbase interfaces. The team thank
the original authors of luatex and luatexbase (Heiko Oberdiek, Élie
Roux, Manuel Pégourié-Gonnard and Philipp Gesang) for their work in this
For new code using LuaTeX, or existing code being updated, the new
kernel allocators should be used directly. This is also possible in
plain TeX by loading the ltluatex.sty file. A suitable test for the new
(This does of course require that ltluatex.sty is available on the system.)
The new kernel now makes all LuaTeX-specific primitives available with
their 'natural' names. We have already arranged that a number of
packages are updated to be ready for this change. As detailed in LaTeX
News 23, should the removal of \luatex... names be an issue with any
documents then adding
"omega", "aleph", "luatex"))}
at the start will restore the old names. This is also covered by the
There are some other changes in specific areas, and these are detailed
in LaTeX News 23.