Version v0.14.6 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 release has tons of fixes and even a few features, but perhaps the most interesting bit to end users might just be the documentation. Thanks to Jonny Heggheim, official SILE packages are in the works for Fedora. The procedure for installing them via COPR is documented and will be updated when they land in default repositories. Also Fredrick Brennan added some useful notes about installing 3rd-party packages. This is really important because very useful actions like typesetting Markdown are best accomplished with external packages.
Anyone working with the source code for SILE itself should note the build system has been split so only run time dependencies are checked at configure time by default.
This means no-change is needed for distro packagers and end users that are just wishing to install and move on.
However checking for dependencies needed in order to develop SILE itself (including running tests) now requires different configuration.
Using --enable-developer
should be added as a go-to configure option for anyone hacking or wishing to contribute the to SILE sources.
Also of interest to developers, using nix develop
should now be a lot more seamless as far as providing a ready-to-use environment.
Didier Willis has rebuilt the formatNumber()
utility function using ICU.
This increases language support from a handful of manually implemented ones to almost complete CLDR coverage.
In the process a new utility function collatedSort()
was added to sort Lua data with locale aware collation.
He also fixed a number of little typsetter bugs and overhauled some more documentation.
First-time contributer raphCode submitted a fix for calling citation keys in the bibtex package.
Debug output is now both faster and more robust since it can't crass the typesetter. When errors are encountered, location reports for where in the document an error was triggered are more accurate. Bundled in this release are also a batch of other small bug fixes to the typesetter, page builder, and shaper.
Features
- build: Add ./configure --enable-developer to ease setup for SILE developers (e8a56ae)
- core: Add SU.collatedSort for language-dependent table sorting with collation (ea7446d)
- core: SU.formatNumber has more options and language support (ed0db29)
- packages: Add package loaded that can later be used to track package dependencies (d48633a)
- packages: Code block environment and raw handler for autodoc (7661330)
Bug Fixes
-
classes: Apply page/framebreak in hmode but warn the user (809cbba)
-
cli: Deduplicate Lua module loading paths when adding segments (e0f75b1)
-
cli: Escape possible path character in replacement (0161f9a)
-
cli: Make user system root not added to resource search path (4305850)
-
debug: Correct filename in debug info after includes (#1652) (4990ecc)
-
debug: Fix pagebuilder debug functions in absence of luastd (ab46bf7)
-
debug: Fix typesetter:debugState() in absence of luastd (42f6b0b)
-
inputters: Correct Lua inputter AST expectations to match others (6177b0b)
-
inputters: Work around SIL parser returning tags as part of content (ef4efb7)
-
languages: Replace custom EN/TR ordinals with ICU (82b6709)
-
nodes: Ignore empty node properties when debugging breaks (f034e05)
-
packages: Correct content position reporting in inputfilter (bb53d77)
-
packages: Don't discard grid makup vboxes at top of new pages (22b899c)
-
packages: Fix \cite{key} in bibtex package (#1655) (648bb5d)
-
packages: Use casting to restore shaper state after fallbacks (351fc68)
-
shapers: Apply tracking settings even in font-fallback shaper (55f0c9c)
-
tooling: Exempt LuaJIT from external bit32 library requirement (#1654) (d094f1b)
-
typesetter: Ensure being in horizontal mode after pushback (a82b604)
-
utilities: Correct logic in AST debugging output, also protect (97c82f0)
-
utilities: Protect debug functions so they can't crash SILE (319b96a)