Summary of Improvements
This maintenance release fixes a number of small bugs that have cropped up in production use of the v0.10 series. Using the frametricks package no longer causes crashes, your table of contents justification won’t be wonky, and passing functions as content is working as expected again. As an added bonus it is possible to process the content passed to functions / macros more than once if desired.
One minor new feature slipped in as well. In addition to the letter-space system that added glue nodes between every glyph there is now a setting for true tracking (that won’t break hyphenation or other features). Packages might also appreciate the improved dependency detection and quick self-check that verifies everything is in working order without running the whole test suite.
Note that while Lua 5.4.0 was released a couple days ago, this release officially only supports Lua through the latest 5.3 release. It may or may not work on Lua 5.4 yet, we haven’t tested.
- build: Add
make checkfast self-check target, fixes #835 (89cefef)
- shaper: Add tracking setting and implement for harfbuzz (9e1dec7)
- build: Check for luarocks if not configured –with-system-luarocks (e8770ce)
- core: Account for possibility that there are no working fallbacks (391f44e)
- core: Gracefully do nothing when SILE.process() passed nothing (1085049)
- core: Revamp macro system to fix #535 (47a0af8)
- frames: Avoid possible infinite loop when looking for a frame (157dfc8)
- frames: Rely on __tostring() meta method, toString() is no more (77b8956)
- nodes: Fix calling non-existent nodefactory function (#864) (9580a15)
- packages: Center dotfill in the event only one dot fits (95181d2)
packages: Don’t let dotfill content be stretchy (079ff97)