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)
Version v0.14.5 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
We're just squishing bugs today and making the manual a little neater.
Working with STDIN streams should be a bit more robust now as the content type detection isn't so picky about whitespace and isn't so prone to false positive detections.
Document file restrictions have been relaxed a little too allowing comments and whitespace before the leading document tag.
Package developers should have a little bit easier time with in the event their package is loaded twice.
Also a number of small typesetting issues in the user manual were cleaned up by Didier Willis.
Bug Fixes
-
inputters: Correct false positive detection of STDIN as Lua content (d54946b)
-
inputters: Don't duplicate passthrough content in AST (07c8e87)
-
inputters: Permit content outside of the document note, e.g. comments or blanks (#1596) (f1a508a)
-
inputters: Relax SIL format sniffing to allow valid syntax (43fc4bc)
-
languages: Remove superfluous line (848b91f)
-
languages: Tidy up variable scope in languages/unicode.lua (78b453d), closes #699
-
measurements: Allow redefinition of existing units (#1608) (8d81018)
-
packages: Ensure a page switch does not break boustrophedon (#1615) (64abaf9)
Version v0.14.4 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
Today we have a small rollup of fixes and improvements.
Didier Willis overhauled the counters packages as well as fixed up bugs in several other packages.
The default center of rotation has been changed to give a more expected result.
Text casing functions are accessible again from the Lua side of things, changing masters during a page output doesn't break page breaking, and using the twoside package doesn't force the use of mirroring.
Olivier Nicole also stepped in to fixup some math bugs.
Also thanks to Jeremy Steward and Sandra Snan for pointing out and fixing small issues in our documentation.
Features
- packages: Add boolean noleadingzeros option to counter formatter (e4f8133)
- packages: Add new command \set-multilevel-counter (11578a8)
Bug Fixes
- classes: Always break out of hmode before processing \chapter headings (0c44d8e)
- core: A typo in a variable prevents using -u with a class (b8f5c40), closes #1569
- languages: Make 'und' an exception to language name canonicalization (52e9b79)
- math: Fix insertion order of MathML children (738e9e6)
- packages: Account for depth when calculating rotation center (289dd2a)
- packages: Avoid forcing mirrored masters in twoside package (#1562) (8cdf6ed)
- packages: Combine
\unichar
'ed chars with same font only (91a8d40)
- packages: Correct rotation origin calculation back to pre v0.10.0 (3521936)
- packages: Don't inhibit page breaking after switching masters mid-page (6b20f73)
- packages: Make sure PDF initialized before rotate package directly calls it (449b2a6)
- packages: Rework simple and multilevel counters (1e6e91a)
- packages: Textcase package name typo preventing using methods from code (7f68766), closes #1568
Reverts
Version v0.14.3 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 addresses a few pain points discovered using the v0.14 series in production.
For 3rd party package developers, it's now easier to find non-Lua resources you installed along with your package.
Among several contributions from Didier Willis, the output backend now returns useful information about images it embeds directly.
The same work also allows specific pages of PDFs to to be emdeded as images, not just the first page.
He also helped refactor existing interfaces to make them easier to extend, such as the table of contents package.
A long standing issue with Turkish hyphenation has been addressed, eliminating the need for preprocessing or other workarounds.
More long standing issues with the book class and chapter opening spreads have been addressed.
Some priority and interactions between new CLI flags has been worked out.
A few more misc bugs were also squished and relevant tests added.
Features
- languages: Handle hyphenation of inter-word apostrophes in Turkish (50ae936)
- packages: Add \open-spread function with more features than \open-double-page (c2ba579)
- packages: Add ability to select a page in PDF images (a477d94)
- packages: Allow for customized content on otherwise blank filler pages (5ae97bf)
- packages: Provide base directory to packages (#1529) (f9ae994)
- utilities: Return image resolution with libtexpdf backend (a9c11d3)
Bug Fixes
- cli: Actually apply cli provided class options (505919e)
- cli: Allow CLI option to override document specified class (5232ce8)
- nodes: Correct calculating width of postbreak discretionaries (ea7912c)
- nodes: Work around discressionaries being output when not wanted (c7dc439)
- packages: Fix over-aggressive eject in \open-double-page (5620556)
- packages: Homogenize image width and height as measurements (b91cfbb), closes #1506
- packages: Make sure PDF initialized before PDF package does anything (#1550) (ebc3748)
- packages: Resolve src= relative to document for SVG images (b55fc98), closes #1532
Reverts
Version v0.14.2 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
It’s a slow news day, but these few little fixes touchup glitches introduced in the v0.14.0 release and generally improve the robustness of the new API interfaces.
Writing (and porting) classes should go just a bit smoother and behave more as expected now.
Bug Fixes
-
classes: Allow package option declarations to be reset (215e83a)
-
classes: Bring back space after subsection numbering (70a3304)
-
packages: Check for user supplied commands before setting noops (54b5071)