Skip to content

Latest commit

 

History

History
892 lines (607 loc) · 24.1 KB

CHANGELOG.md

File metadata and controls

892 lines (607 loc) · 24.1 KB

Changelog

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.

Changed

  • Initialize all boolean config variables.

Fixed

  • Skip README rename when this has no extension (issue #388)

Added

  • --dev switch to run tests using development format

Fixed

  • Test for uncompleted conditionals in tests (may require .tlg update)
  • Global typesetopts no longer ignored for luatex and lualatex (issue #351)
  • Handling of spaces in options

Changed

  • Respect --rerun in doc target (issue #112)

Fixed

  • Skip unknown engines correctly in l3build save
  • Handling of environment settings in some cases (issue #353)

Changed

  • Extend normalization of line numbers to include those wrapped by LaTeX in text on line ...
  • Suppress l3msg message wrapping

Added

  • Switch -s|--stdengine to run a set of tests only with the standard engine even where this varies between configs (issue #343)

Removed

  • Switch --force|-f

Fixed

  • Type of return value of runtest_tasks() in doc
  • Print failures correctly when these occur in multiple configurations including the core (build) one

Changed

  • Throw warnings on unknown doc name(s)
  • Always execute runtest_tasks() if set (issue #327)
  • Print failures correctly when these occur in multiple configurations

Fixed

  • Test for blank runtest_tasks() (issue #327)
  • Correct setup for script running in TeX Live

Fixed

  • Syntax warning on Windows with some test setups

Changed

  • Document default value of ctanpkg as a valid lua expression
  • Improve log for failed checks with no diff files
  • Document full syntaxes of \SHOWFILE and \ASSERT(STR)

Fixed

  • Short-circuit check --rerun if testdir doesn't exist
  • Retain errorlevel on Windows during check target

Changed

  • Drop duplicate backslashes in doc

Fixed

  • Support non-ASCII filenames that fall within the system codepage on Windows (see #122)

Added

  • Document ConTeXt as supported checkformat

Changed

  • Extend version string normalisation during checks (see issue #96)

  • Extend excludefiles to cover build.lua (see #286)

Fixed

  • Return passing errorlevel if BibTeX issues warnings (see #260)
  • Respect excludefiles when doing (local) installation

Changed

  • Refine -utc support
  • Apply checkopts in addition to engine-specific options

Changed

  • Initialise the random seed with the current time so --shuffle produces different orders each run.
  • Normalise more luaotfload cache lines
  • Apply -utc switch for LuaTeX when using a fixed epoch value
  • Set -kanji-internal=euc when building pLaTeX

Changed

  • Improve stdout "Running l3build with target ..."
  • Quote configuration name used in stdout
  • Update one leftover outdated doc for unpackexe: defaults to pdftex
  • Building pLaTeX format now uses e-upTeX engine
  • Normalize more luaotfload path data (see issue #301)
  • Update ConTeXt settings to allow for LuaTeX and LuaMetaTeX runs
  • Improve doc for default stdengine

Fixed

  • Avoid setting TEMXFCNF for ConTeXt (issue #232)

Fixed

  • All LuaTeX .tlg files were wrongly considered not engine-specific. Introduced in #292 which tried to fix #291.

Changed

  • Default value of maxprintline is now 9999 (may require .tlg updates: see docs)

Fixed

  • Apply needed luatex-specific log normalization, even when --rerun is used (issue #291)

Changed

  • Generalize normalization of ghostscript version in PDF-based tests
  • Include UNIX timestamps in generated ZIP files
  • Normalize pdfTeX .enc file loading

Fixed

  • Ensure when used, value of ps2pdfopts is surrounded by a space on both sides

Changed

  • Run engine sanity check per config

Fixed

  • Restore epoch settings for dvitopdf()
  • Use plural form of variable ps2pdfopts consistently in code and doc, and retain compatibility with singular form ps2pdfopt (issue #275)
  • Remove the last trace of dropped variable stdconfig

Changed

  • Unify testdir by dropping possibly trailing .lua passed to --config

Fixed

  • Ensure directories testdir and resultdir exist when --dirty is set
  • epoch settings with xetex

Changed

  • Drop a redundant setup line for upTeX
  • Normalise more Lua stack trace data (may require .tlg rebuild)

Fixed

  • Ensure texmf.cnf work correctly for dvips

Changed

  • Suppress (new) LaTeX version data at end of .log

Fixed

  • Allow for local override of ctanupload variable

Fixed

  • Copying of nested directories

Changed

  • Normalise GhostScript version in PDF-based tests
  • Sort list of names of difference files for failing tests.

Added

  • Basic support for make4ht

Changed

  • Support bidi version string in \special lines (closes #226)

Changed

  • When \pdfmeta_set_regression_data: is defined it is used to set metadata
  • Support multiple configurations in bundles

Fixed

  • Correctly normalize luaotfload font cache path

Fixed

  • Creation of subdirectories in TDS structures on Unix-like systems

  • use form-string rather than form for all curl fields to avoid misinterpreting leading @ or < eg a description starting <p>

  • Check the boolean value returned by executing shell commands in l3build-upload and throw an error if this is false. This fixes the issue that previously "validation successful" was reported if curl failed.

Changed

  • Documentation of how to validate an upload

Fixed

  • Use correct name for options table in multi configuration management code

Added

  • Support for pre-constructed TDS-style sources (variable tdsdirs)
  • Support for injection of tokens using specialformats

Changed

  • If multiple configurations are present, let l3build clean run on all of them by default. (issue #214)

Fixed

  • Place PDF files inside docfiledir in all cases

Changed

  • Documentation improvements
  • Use checkengines[1] as the default for stdengine
  • Add sanity check for TEXMFHOME value
  • Double \ when writing the curl options, so that
    does not need to be doubled in note and announcement texts.

Fixed

  • Installation of files when using MiKTeX (see #125)
  • Incorrect line in manifest target (see #195)
  • Placement of PDF files in subdirectory locations (issue #209)
  • Detection of engine-specific tlg files for non-standard LuaTeX based engines (issues #214)
  • Always typeset in typesetdir (fixes #210)

Changed

  • Documentation improvements

Fixed

  • Allow config names ending with 'lua', as long as they don't end with '.lua'
  • All documentation files are build in a consistent environment with support files visible.

Fixed

  • Creation of zip files on Windows
  • Only match filename and not full path for exefiles

Added

  • Add the --show-saves flag for l3build check to generate a list of l3build save commands to regenerate all failing tests

Changed

  • No longer call an external program to generate zip files and generate them directly instead. This disables the options zipexe and zipopts.
  • Copy TDS-style zip files to main dir

Fixed

  • Issue when running PDF-based tests

Changed

  • Normalise Lua function calls (issue #127) - may require .tlg update
  • LuaTeX from TL'21 is no longer 'off by one' in log files - may require .tlg update

Fixed

  • Installation now supports deeper directory levels (issue #182)
  • The texmfhome directory is now created before use if required
  • Crash caused by yyyy-mm-dd epoch format

Removed

  • Support for use as texlua build.lua <target>

Added

  • Store 'raw' PDF files when testing using PDFs, to allow further checks with e.g. PDF validators

Changed

  • Exclude sourcefiles entries from file clean-up
  • Adjust defaults for TeX Live 2020 LuaHBTeX usage

Changed

  • Suppress PDF compression in DVI route
  • Suppress PDF ID data in DVI route
  • Default to dvips for (p)TeX
  • Refinement of /ID line suppression

Changed

  • Refinement of PDF test normalisation

Added

  • Option ps2pdfopt

Changed

  • Normalise /ID lines in PDF comparisons
  • Normalise %% lines in PDF comparisons

Fixed

  • Enable cleandir() recursively
  • Install files after all directory cleaning/creation

Changed

  • Avoid temporary file when unpacking

Deprecated

  • os_yes: use io.popen(...,w) instead

Added

  • Variable textfiledir
  • Table specialtypesetting and support data

Changed

  • Documentation improvements

Fixed

  • When checkruns > 1 and recordstatus=true, testing code would crash (issue #90)

Changed

  • Normalise out DVI header lines

Fixed

  • Allow announcement field to be empty (with a warning this suppresses the CTAN announcement)

Fixed

  • Allow for more extracted files from DocStrip

Changed

  • \ASSERTSTR no longer needs e-TeX

Fixed

  • Installation of files using the --full switch

Added

  • New \ASSERT and \ASSERTSTR functions (issue #102)

Changed

  • 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)

Fixed

  • Location of testsuppdir when multiple configurations are used

Added

  • docinit_hook()

Changed

  • Normalise out file paths in all cases

Added

  • New flattentds variable for controlling complex TDS structures
  • Additional notes on texmfdir

Fixed

  • Copy TDS files inside subdirectories (fixes #100)

Fixed

  • Path searching if texmfdir is set but does not exist

Fixed

  • Typesetting when using an isolated system (use of texmfdir)

Added

  • New texmfdir variable for more complex local additions

Fixed

  • Clean out all configuration test dirs (see #98)

Added

  • checkinit_hook()

Changed

  • Use three typesetting runs as-standard
  • Use pdftex not tex for unpacking

Changed

  • Include LUAINPUTS when setting TEXINPUTS for checksearch = false, etc.

Fixed

  • Remove .log file before each check run: prevent inter-engine confusion

Fixed

  • Interaction between secondary files in some tests

Added

  • Support for non-standard file layouts via tdslocations table

Changed

  • Only write (x)dvipdfmx specials for XeTeX and (u)pTeX (see #94)

Changed

  • Back out change for normalisation of LuaTeX v1.10 stack information (timing issue: will reintroduce later)

Fixed

  • Correct test for LuaTeX (see #93)

Added

  • Support for HarfTeX (see #92)

Changed

  • Support for normalisation of LuaTeX v1.10 stack information (may require new .tlg files)

Fixed

  • Support for spaces in paths when typesetting (see #91)

Added

  • 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.

Changed

  • Moved LuaTeX-specific font cache normalisation

Fixed

  • Handling of ASCII engines
  • Execution of all tests by ctan target (see #85)

Added

  • Table-based control of binary/format combinations: specialformats (see #84)
  • Switch --debug for chasing problems with the upload target

Changed

  • The uploadconfig.update field by default now automatically detects whether it needs to be true or false
  • The tag target now allows no tag name to allow for setting this programmatically within a build.lua script
  • Better support for multiple LuaTeX-like engines

Fixed

  • Uploading via Windows should now work

Added

  • 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

Changed

  • Enable --dry-run option for upload target
  • Enable tag/version to be passed as optional argument to upload target

Fixed

  • Packaging of some team-specific files
  • Handling of upload data containing newlines (Windows only)

Changed

  • Add new upload target which uses curl with the CTAN API to send a package for release (see #1)

Changed

  • Strip leading spaces from file loading/page number lines (see #78)

Fixed

  • Print test failures correctly per-config (see #77)

Fixed

  • Substitution of spaces in Unix paths (see #76)

Added

  • \SHOWFILE command

Changed

  • Better support for multiple LuaTeX engines (see #75)

Fixed

  • Support for spaces in directory names (fixes #76)
  • Support relative directories as argument to --texmfhome

Changed

  • Entries in scriptfiles are excluded from installfiles
  • Use a per-config directory for running tests
  • Enable use of local texmf.cnf file in tests and documentation
  • New ctanreadme variable

Changed

  • 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

Changed

  • Suppress file name info in PDF output for included images, etc.

Fixed

  • Issue with creation of CTAN releases for bundles

Added

  • ctanzip variable
  • --full option

Changed

  • 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

Fixed

  • Testing using .lve files
  • Tagging with new approach to top-level targets

Added

  • CHANGELOG.md
  • --dirty option
  • includetests and excludetests variables for controlling which tests run
  • target_list table to allow control of targets without redefining main()

Changed

  • PDF-based testing now uses 'digested' PDF file for comparison, working from dedicated .pvt input files

Removed

  • --pdf|-p command line switch

Changed

  • Revert appearance of date lines in .tlg files: this is on balance problematic

Added

  • Variable dynamicfiles to be cleaned between each test run

Changed

  • Normalise dates to placeholder "YYYY-MM-DD": may require .tlg updates

Fixed

  • Include dot files in tree() (fixes #30)

Changed

  • Omit ISO date lines in .tlg files

Changed

  • Allow 'short cut' of check runs
  • Support for upcoming LaTeX kernel release functions

Changed

  • Add #! line for POSIX users
  • Set POSIX u+x on l3build.lua

Fixed

  • Handling of script name with or without extension

Fixed

  • Pass through script name correctly with new set up

Added

  • Target tag, variable tagfiles and function update_tag()
  • Variables scriptfiles and scriptmanfiles to support installation of scripts

Changed

  • l3build can now be run as a top-level script rather than using texlua build.lua ...
  • Normalisation of LuaTeX-derived tlg files, in preparation for TeX Live 2018

Deprecated

  • Use of wrapper build.lua script to call l3build: the new top-level script approach is preferred

Removed

  • Target setversion and variable versionfiles

Changed

  • Allow for checkopts adding code/files

Fixed

  • Creation of 'structured' CTAN releases
  • Quote test names correctly

Added

  • Target uninstall
  • Options --first and --last

Changed

  • Normalisation for upcoming LuaTeX 1.07 release

Fixed

  • Behaviour of check on Windows when using standard fc tool

Added

  • 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

Changed

  • Sort list of tests to avoid system-dependent ordering
  • Split l3build into multiple files for improved maintenance

Fixed

  • Issue with recordstatus

Removed

  • Rationalise short option names: removed -d, -E, -r
  • Target cmdcheck: specific to LaTeX kernel work