Skip to content

Releases: Xerdi/lua-placeholders

Release 2.0.2

19 May 17:14
2.0.2
2d6ac0b

Choose a tag to compare

Release for version 2.0.2

Highlights

This is a stability release for lua-placeholders. It fixes two latent bugs that turned repeated \loadrecipe use into cryptic failures, adds an explicit guard against
silent namespace collisions, and pins down the failure modes with regression tests.

Added

  • Added duplicate-namespace guard in \loadrecipe: a second call resolving to a namespace name that already has a recipe now raises tex.error instead of silently
    overwriting parameters and re-emitting hooks.
  • Added regression MWE under test/cases/double-recipe.tex (plus two anonymised YAML recipes) reproducing the "Incomplete \ifx" failure that surfaced when two recipes
    shared a bool key.
  • Added unit test test/unit/parse-filename.lua covering basename parsing across:
    • dotted parent directories
    • hyphenated names
    • multi-dot basenames
    • Windows forward-slash paths
    • bare / relative inputs
  • Added test-parse-filename Makefile target and wired it into the default test: rule.

Fixed

  • Fixed "Incomplete \ifx" on a second \loadrecipe whose recipe shares a bool key with an earlier one. \paramnewbool now routes through \@ifundefined, so the literal
    \iffalse sits in a brace argument outside the \ifx's scope and TeX's conditional-skip scanner cannot mistake it for a new conditional opener.
  • Fixed namespace.parse_filename picking the wrong path segment when the parent directory contained a dot (e.g. ~/texmf.d/<sub>/klant.yaml resolving to texmf instead of
    klant). Basename + extension extraction now uses two narrow string.match calls.

Full Changelog: 2.0.1...2.0.2

Release 2.0.1

09 May 15:27
2.0.1
4ed04fc

Choose a tag to compare

Release for version 2.0.1

Highlights

This release is a major step forward for lua-placeholders, with expanded placeholder capabilities, broader engine support, improved documentation, and updated build/release automation.

Added

  • Added support for date values in placeholders.
  • Added support for table parameters.
  • Added support for row-specific parameter resolution in tables.
  • Added support for list and object cell types.
  • Added support for list and object parameters.
  • Added support for nested list, object, and table compositions.
  • Added support for rendering complex placeholder data structures.
  • Added plain LuaTeX support, including dedicated tests.
  • Added hook detection for plain LuaTeX and guarded hook usage where needed.
  • Added example-based tests.

Changed

  • Refactored row-binding logic for table parameters.
  • Refactored context stack handling for parameter resolution.
  • Refactored token handling and formatting to better support plain LuaTeX.
  • Improved placeholder handling for complex types.
  • Improved documentation for:
    • Lua dates
    • table parameters
    • special characters in table cell values
    • list and object types
    • nested compositions
    • plain LuaTeX usage
    • parameter types
    • engine-specific behavior
  • Removed the ifthen dependency.
  • Updated tests and expected output for the expanded feature set.
  • Updated build and publish workflows.

Fixed

  • Fixed handling of fixed dates in expected test output.
  • Fixed empty-data rendering behavior for complex placeholder structures.
  • Fixed and improved build/release workflow configuration.

Full Changelog: 1.0.3...2.0.1

Release 1.0.3

02 Apr 18:45

Choose a tag to compare

Release for version 1.0.3

What's Changed

  • Add LaTeX custom hooks for namespaces
  • Record loaded YAML/JSON files for recompilation purposes

Full Changelog: 1.0.2...1.0.3

Release 1.0.2

21 Feb 12:45

Choose a tag to compare

Full Changelog: 1.0.1...1.0.2

Release 1.0.1

12 Feb 14:59

Choose a tag to compare

Full Changelog: 1.0.0...1.0.1

Release 1.0.0

23 Jan 14:49

Choose a tag to compare

Now included YAML fallback support with lua-tinyyaml, specifically for Windows in order to work out of the box.

Release 0.1.0

12 Jan 15:43

Choose a tag to compare

Refactored project name to Lua Placeholders

Version 0.0.1

09 Jan 21:49

Choose a tag to compare

Version 0.0.1 Pre-release
Pre-release
Update package date