Changelog ========= 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. ## v3.0.1 (2024-03-11) - Disable `debug` hooks for TeX Live 2024. - Fix compatibility issue with `selnolig` ([#43](https://github.com/gucci-on-fleek/lua-widow-control/issues/43)). ## v3.0.0 (2022-11-22) - 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](https://github.com/zauguin/luametalatex). All features should work identically to the LuaTeX-based version, although there are a few minor bugs. ([#40](https://github.com/gucci-on-fleek/lua-widow-control/pull/40)) - Fully support inserts/footnotes in LuaMetaTeX ([#38](https://github.com/gucci-on-fleek/lua-widow-control/issues/38)). - Add support for presets in ConTeXt. - Add support for node colouring in ConTeXt and OpTeX ([#39](https://github.com/gucci-on-fleek/lua-widow-control/issues/39)). ## [v2.2.2 (2022-08-23)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-6c91837c205572a78a0bcaf9c80b8e475ef71689) - Add preliminary support for inserts/footnotes in LuaMetaTeX ([#38](https://github.com/gucci-on-fleek/lua-widow-control/issues/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](https://github.com/gucci-on-fleek/lua-widow-control/issues/37)). ## [v2.2.1 (2022-07-28)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-45c3146d5fc5a86606a931212395a28ffb48f925) - Fix crashes with recent LuaMetaTeX (ConTeXt MkXL). See also [this thread](https://mailman.ntg.nl/pipermail/ntg-context/2022/106331.html). - No longer show "left parfill skip" warnings with ConTeXt LMTX/MkXL ([#7](https://github.com/gucci-on-fleek/lua-widow-control/issues/7)). ## [v2.2.0 (2022-06-17)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-9a5deba53545adc5ab25a5caa0b8ebf4104843f9) - Fix paragraphs not being properly saved for potential expansion. **May affect page breaks.** - Add a new `draft` option ([#36](https://github.com/gucci-on-fleek/lua-widow-control/issues/36)). - Fix a node memory leak ([#29](https://github.com/gucci-on-fleek/lua-widow-control/issues/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. ## [v2.1.2 (2022-05-27)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-3744f3e78bdf02fc63d508a0f80595260191607c) - 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 ## [v2.1.1 (2022-05-20)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-980f24ac64816bd0d453754f8f1af676f0f7ee99) - 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` and `mmoptex` ([#35](https://github.com/gucci-on-fleek/lua-widow-control/pull/35) [@vlasakm](https://github.com/vlasakm)) - Fix the (undocumented) `microtype` LaTeX option ## [v2.1.0 (2022-05-14)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-82563aa0396805008059e3a96c2bf30b59c58026) - 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 ## [v2.0.6 (2022-04-23)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-2aa9269b33a03f66d2ece634c3dcba6b258fddf0) - Emergency fix for renamed LMTX engine Lua functions - Internal LaTeX refactoring ## [v2.0.5 (2022-04-13)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-e3234ac7dfb31118d08fcb5ed0fe03f394df2b57) - 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](https://github.com/gucci-on-fleek/lua-widow-control/issues/32)) ## [v2.0.4 (2022-04-07)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-8a0e97e448976280a38d41f92c2781320b1a91f0) - Don't expand paragraphs typeset during output routines ([#31](https://github.com/gucci-on-fleek/lua-widow-control/issues/31)) ## [v2.0.3 (2022-03-28)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-d6622dd9fd04a4bc7678ff18420c1b4bdf077844) - Automatically patch section commands provided by memoir, KOMA-Script, and titlesec. ## [v2.0.2 (2022-03-20)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-7e79189406a2318c33dcaceb85d9d1021b357a3f) _Final release present in TeX Live 2021_ - Add `balanced` mode preset. ## [v2.0.1 (2022-03-18)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-f3048dbcbfaf4d7d6f6a57e236cdb9684ff5d18d) - Documentation updates ([#25](https://github.com/gucci-on-fleek/lua-widow-control/issues/25)) - Bug fixes ([#28](https://github.com/gucci-on-fleek/lua-widow-control/issues/28)) ## [v2.0.0 (2022-03-07)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-cea06ddad8dfcf15fa9ba2a86c6640648b9df523) - **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](https://github.com/gucci-on-fleek/lua-widow-control/pull/20)) - Use a key–value interface for configuration with LaTeX ([#11](https://github.com/gucci-on-fleek/lua-widow-control/issues/11)) - Silence some extraneous `luatexbase` info messages - Add a "debug mode" to print extra information ([#12](https://github.com/gucci-on-fleek/lua-widow-control/issues/12)) - Fix error message line wrapping - Don't reset `\interlinepenalty` and `\brokenpenalty` - Set and analyze `\displaywidowpenalty` - Keep section headings with moved orphans ([#17](https://github.com/gucci-on-fleek/lua-widow-control/issues/17)) - Add the ability to configure the maximum paragraph cost ([#22](https://github.com/gucci-on-fleek/lua-widow-control/issues/22)) - Add a "strict" mode - Use an improved cost function to select the best paragraph to lengthen ([#23](https://github.com/gucci-on-fleek/lua-widow-control/issues/23)) - Dozens of bug fixes - Miscellaneous documentation updates ## [v1.1.6 (2022-02-22)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-2c7201854d89535ef7c02f6c38486205677f1aa1) - 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. ## [v1.1.5 (2022-02-15)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-5cc95212c8141006ae3a600d26a4e0cd63b368c0) - Improve the appearance of the demo table in the documentation ([#4](https://github.com/gucci-on-fleek/lua-widow-control/issues/4)) - Improve compatibility with microtype - Block loading the package without LuaTeX - Improve logging - Bug fix to prevent crashing ## [v1.1.4 (2022-02-04)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-a8caba8e689ce5c743a88dcf1dcd8e4a0db67fb2) - Enable protrusion/expansion in the demo table in the documentation ([#3](https://github.com/gucci-on-fleek/lua-widow-control/issues/3)) - Fix `\prevdepth` bug ## [v1.1.3 (2022-01-30)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-8d1228bf1697e2720062b0c2a40f306005da72e8) - Fix bug when used with the LaTeX `calc` package. ([#2](https://github.com/gucci-on-fleek/lua-widow-control/issues/2)) ## [v1.1.2 (2021-12-14)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-61a684d92f1a38ecf0ff53c6da22b2a973fae530) - Fix crash under ConTeXt LMTX ## [v1.1.1 (2021-11-26)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/v1.1.1) - Minor documentation updates ## [v1.1.0 (2021-11-08)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-8c958011bb4bd7f6e4ad843321c0d2643645a08f) - 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 ## [v1.0.0 (2021-10-09)](https://github.com/gucci-on-fleek/lua-widow-control/releases/tag/release-bae44a6858432e095597521bf1ef7df2104b6b9c) Initial release