Version v0.10.9 of SILE has been released and is available for download! See the included CHANGELOG.md or review the commit history for more explicit details.
Summary of Improvements
This is the first version of SILE to officially support Lua 5.4! If your OS or distro is migrating to the latest Lua, this release is for you. The changes in this Lua release are not very significant in relation to SILE, but it took a bit of time and effort for all the modules we use to be compatible. Additionally in this release how we handle bundling LuaRocks modules has changed. We no longer include the full source and prebuilt rocks in the source packages. For most platforms and installations this will not change anything at all, using --with-system-luarocks
still skips anything to do with bundling and just requires the dependencies be available on the host system. This is used by all platforms to date that have SILE packages. For people building from source using the default configuration of --without-system-luarocks
the bundling still happens using Luarocks to download and build all the required dependencies when you run make
. Previously it copied the sources for your version of Lua out of the source package, but with 4 supported versions of Lua and many variation in how different platforms build them this was getting too cumbersome. LuaRocks does this job already, we just leverage it.
Still on the topic of packaging, a minor change is that make install
will not install the PDF manual and examples by default, but if you add --with-manual
and/or --with-examples
it will not only install them, but it will install them to your platform’s default location for PDF documentation (previously they were just stuffed in alongside the SILE code, wherever that was). The PDF documentation directory is the same as for other documentation on most platforms, but it does go to the right place for those system that have special handling for PDF documentation.
As for the typesetter itself, if you ever used inputfilter()
functions and your content randomly came out in the wrong order, we fixed that non-determinism. Additionally Unicode combining diacritic marks can be now be added with \unichar{}
. If you’re trying to figure out what is what on a page, --debug hboxes
also works again after being broken some time back.
For developers, adding multiple debug flags from the CLI is easier than ever, and fewer things need to be rebuilt from scratch every time you touch something in SILE’s source code.
Features
- build: Install manual to $(pdfdir) if configure --with-manual (ee33ff7)
- core: Allow adding --debug flag multiple times (9ac2838)
Bug Fixes
-
build: Correct typo in dependencies for building docs (ad548a5)
-
build: Ship blank lua_modules install list in source packages (7939970)
-
build: Touch Makefile.in to avoid automake errors (e7f4627)
-
build: Work around src/libtexpdf subdirs using side-effects (26d6769)
-
core: Iterate on sequential data with ipairs() or SU.sortedpairs() (9db0a28)
-
debug: Fix math in hbox debugging (6c0029d)
-
packages: Combine unichar output with existing unshaped node (712bc92)
-
packages: Use sortedpairs to avoid non-determinism (a28ef06)
-
utilities: Add sorted pairs function (5aad397)