All notable changes to lua-widow-control will be listed here, in reverse chronological order. Changes listed in bold are important changes: they either remove options or commands, or may change the location of page breaks.
- Warn on questionable
emergencystretch
values.
Final release present in TeX Live 2023
-
Disable
debug
hooks for TeX Live 2024. -
Fix compatibility issue with
selnolig
(#43).
-
Add the new TUGboat and Zpravodaj articles.
-
Add and document the public Lua interfaces.
-
Change
\parfillskip
settings for lengthened paragraphs to more strongly prevent short last lines. May affect page breaks. -
Add the ability to configure the horizontal offset for the paragraph costs printed in draft mode.
-
Add support for LuaMetaLaTeX and LuaMetaPlain. All features should work identically to the LuaTeX-based version, although there are a few minor bugs. (#40)
-
Fully support inserts/footnotes in LuaMetaTeX (#38).
-
Add support for presets in ConTeXt.
-
Add support for node colouring in ConTeXt and OpTeX (#39).
-
Add preliminary support for inserts/footnotes in LuaMetaTeX (#38).
-
Use the built-in LaTeX key–value interface where available.
This means that lua-widow-control now also reads the global class options.
-
Add support for split footnotes (#37).
- Fix crashes with recent LuaMetaTeX (ConTeXt MkXL). See also this thread.
- No longer show "left parfill skip" warnings with ConTeXt LMTX/MkXL (#7).
- Fix paragraphs not being properly saved for potential expansion. May affect page breaks.
- Add a new
draft
option (#36). - Fix a node memory leak (#29). You should now be able to use lua-widow-control on documents with > 10 000 pages.
- Use
\lua_load_module:n
when available. - Add additional metadata to the documentation.
- Fully-support footnotes/inserts: lua-widow-control now moves the "footnote text" with the "footnote mark" when it moves a line to the next page.
- No longer attempt to expand paragraphs in
\vbox
es - Minor documentation updates
- Prevent spurious
under/overfull \vbox
warnings when widows/orphans are removed - Add TUGboat article to the distributed documentation
- Rewrite many portions of the manual
- Add support for
luahbtex
andmmoptex
(#35 @vlasakm) - Fix the (undocumented)
microtype
LaTeX option
- Fully support grid snapping in ConTeXt
- New warnings when a new widow/orphan is inadvertently created
- Significant internal rewrites
- Add Plain and OpTeX interfaces to
\nobreak
behaviour and debug mode
- Emergency fix for renamed LMTX engine Lua functions
- Internal LaTeX refactoring
- Support nested
\lwcdisablecmd
macros - Fix
\lwcdisablecmd
in Plain TeX - Support command patching in OpTeX
- Patch memoir to prevent spurious asterisks at broken two-line paragraphs (#32)
- Don't expand paragraphs typeset during output routines (#31)
- Automatically patch section commands provided by memoir, KOMA-Script, and titlesec.
Final release present in TeX Live 2021
- Add
balanced
mode preset.
- Page breaks may be slightly different
- Removed
\lwcemergencystretch
and\lwcdisablecmd
in LaTeX. Please use the new key–value interface - Use expl3 for the LaTeX files (#20)
- Use a key–value interface for configuration with LaTeX (#11)
- Silence some extraneous
luatexbase
info messages - Add a "debug mode" to print extra information (#12)
- Fix error message line wrapping
- Don't reset
\interlinepenalty
and\brokenpenalty
- Set and analyze
\displaywidowpenalty
- Keep section headings with moved orphans (#17)
- Add the ability to configure the maximum paragraph cost (#22)
- Add a "strict" mode
- Use an improved cost function to select the best paragraph to lengthen (#23)
- Dozens of bug fixes
- Miscellaneous documentation updates
- Add support for the OpTeX format/macro package.
- Add support for the LuaTeX/MKIV version of ConTeXt.
- Ensure compatibility with the new
linebreaker
package. - Fix a small bug with
\lwcdisablecmd
. - Test the
\outputpenalty
for the specific values that indicate a widow or orphan.
- Improve the appearance of the demo table in the documentation (#4)
- Improve compatibility with microtype
- Block loading the package without LuaTeX
- Improve logging
- Bug fix to prevent crashing
- Enable protrusion/expansion in the demo table in the documentation (#3)
- Fix
\prevdepth
bug
- Fix bug when used with the LaTeX
calc
package. (#2)
- Fix crash under ConTeXt LMTX
- Minor documentation updates
- Extensive documentation updates
- Clarify that lua-widow-control does in fact support columns
- Add
\lwcdisablecmd
macro to disable lua-widow-control for certain commands - Automatically disable lua-widow-control inside section headings (uses
\lwcdisablecmd
) - Add automated tests to prevent regressions
- Fix a rare issue that would cause indefinite hangs
Initial release