All notable changes to the l3build
bundle since the start of 2018
will be documented in this file.
The format is based on Keep a Changelog, this project uses date-based 'snapshot' version identifiers.
- Normal Lua function calls (issue #127)
- Store 'raw' PDF files when testing using PDFs, to allow further checks with e.g. PDF validators
- Exclude
sourcefiles
entries from file clean-up - Adjust defaults for TeX Live 2020 LuaHBTeX usage
- Suppress PDF compression in DVI route
- Suppress PDF ID data in DVI route
- Default to
dvips
for (p)TeX - Refinement of
/ID
line suppression
- Refinement of PDF test normalisation
- Option
ps2pdfopt
- Normalise
/ID
lines in PDF comparisons - Normalise
%%
lines in PDF comparisons
- Enable
cleandir()
recursively - Install files after all directory cleaning/creation
- Avoid temporary file when unpacking
os_yes
: useio.popen(...,w)
instead
- Variable
textfiledir
- Table
specialtypesetting
and support data
- Documentation improvements
- When
checkruns
> 1 andrecordstatus=true
, testing code would crash (issue #90)
- Normalise out DVI header lines
- Allow announcement field to be empty (with a warning this suppresses the CTAN announcement)
- Allow for more extracted files from DocStrip
\ASSERTSTR
no longer needs e-TeX
- Installation of files using the
--full
switch
- New
\ASSERT
and\ASSERTSTR
functions (issue #102)
- Avoid normalisation of (u)pTeX data when this is standard engine (fixes #103)
- Normalise Lua data references (#107)
- Extend
runtest_task()
to pass run number - Allow
regression-test
to load when e-TeX is unavailable (fixes #105)
- Location of
testsuppdir
when multiple configurations are used
docinit_hook()
- Normalise out file paths in all cases
- New
flattentds
variable for controlling complex TDS structures - Additional notes on
texmfdir
- Copy TDS files inside subdirectories (fixes #100)
- Path searching if
texmfdir
is set but does not exist
- Typesetting when using an isolated system (use of texmfdir)
- New
texmfdir
variable for more complex local additions
- Clean out all configuration test dirs (see #98)
checkinit_hook()
- Use three typesetting runs as-standard
- Use
pdftex
nottex
for unpacking
- Include
LUAINPUTS
when settingTEXINPUTS
forchecksearch = false
, etc.
- Remove
.log
file before each check run: prevent inter-engine confusion
- Interaction between secondary files in some tests
- Support for non-standard file layouts via
tdslocations
table
- Only write (x)dvipdfmx specials for XeTeX and (u)pTeX (see #94)
- Back out change for normalisation of LuaTeX v1.10 stack information (timing issue: will reintroduce later)
- Correct test for LuaTeX (see #93)
- Support for HarfTeX (see #92)
- Support for normalisation of LuaTeX v1.10 stack information
(may require new
.tlg
files)
- Support for spaces in paths when typesetting (see #91)
- Switch
--show-log-on-error
for use with--halt-on-error
. Results in the.log
file being show in full on the console to aid in non-interactive debugging.
- Moved LuaTeX-specific font cache normalisation
- Handling of ASCII engines
- Execution of all tests by
ctan
target (see #85)
- Table-based control of binary/format combinations:
specialformats
(see #84) - Switch
--debug
for chasing problems with theupload
target
- The
uploadconfig.update
field by default now automatically detects whether it needs to betrue
orfalse
- The
tag
target now allows no tag name to allow for setting this programmatically within abuild.lua
script - Better support for multiple LuaTeX-like engines
- Uploading via Windows should now work
- Switch
--email
for providing upload email address - Switch
-F|--file
for providing upload announcement from file - Switch
-m|--message
for providing upload announcement from command line
- Enable
--dry-run
option forupload
target - Enable tag/version to be passed as optional argument to
upload
target
- Packaging of some team-specific files
- Handling of upload data containing newlines (Windows only)
- Add new
upload
target which usescurl
with the CTAN API to send a package for release (see #1)
- Strip leading spaces from file loading/page number lines (see #78)
- Print test failures correctly per-config (see #77)
- Substitution of spaces in Unix paths (see #76)
\SHOWFILE
command
- Better support for multiple LuaTeX engines (see #75)
- Support for spaces in directory names (fixes #76)
- Support relative directories as argument to
--texmfhome
- Entries in
scriptfiles
are excluded frominstallfiles
- Use a per-config directory for running tests
- Enable use of local
texmf.cnf
file in tests and documentation - New
ctanreadme
variable
- Normalise date lines to contain "...-..-.." rather than removing
(including normalising version data in such lines): note that
.tlg
file updates may be required after this change - Explicitly exclude
.fd
file lines
- Suppress file name info in PDF output for included images, etc.
- Issue with creation of CTAN releases for bundles
ctanzip
variable--full
option
- Run PDF-based tests for all engines
- Tweaks to PDF-based normalisation: new
.tpf
files will be required - The
--halt-on-error|-H
setting now applies to multiple configs
- Testing using
.lve
files - Tagging with new approach to top-level targets
CHANGELOG.md
--dirty
optionincludetests
andexcludetests
variables for controlling which tests runtarget_list
table to allow control of targets without redefiningmain()
- PDF-based testing now uses 'digested' PDF file for comparison,
working from dedicated
.pvt
input files
--pdf|-p
command line switch
- Revert appearance of date lines in
.tlg
files: this is on balance problematic
- Variable
dynamicfiles
to be cleaned between each test run
- Normalise dates to placeholder "YYYY-MM-DD": may require
.tlg
updates
- Include dot files in
tree()
(fixes #30)
- Omit ISO date lines in
.tlg
files
- Allow 'short cut' of check runs
- Support for upcoming LaTeX kernel release functions
- Add
#!
line for POSIX users - Set POSIX u+x on
l3build.lua
- Handling of script name with or without extension
- Pass through script name correctly with new set up
- Target
tag
, variabletagfiles
and functionupdate_tag()
- Variables
scriptfiles
andscriptmanfiles
to support installation of scripts
l3build
can now be run as a top-level script rather than usingtexlua build.lua ...
- Normalisation of LuaTeX-derived
tlg
files, in preparation for TeX Live 2018
- Use of wrapper
build.lua
script to calll3build
: the new top-level script approach is preferred
- Target
setversion
and variableversionfiles
- Allow for
checkopts
adding code/files
- Creation of 'structured' CTAN releases
- Quote test names correctly
- Target
uninstall
- Options
--first
and--last
- Normalisation for upcoming LuaTeX 1.07 release
- Behaviour of check on Windows when using standard
fc
tool
- Target
manifest
for construction of file manifests automatically - Variable
auxfiles
- Option
--dry-run
for installation/cleaning - Option
--texmfhome
to allow customisation of installation - Option
--shuffle
to run tests in a random order
- Sort list of tests to avoid system-dependent ordering
- Split
l3build
into multiple files for improved maintenance
- Issue with
recordstatus
- Rationalise short option names: removed
-d
,-E
,-r
- Target
cmdcheck
: specific to LaTeX kernel work