Releases: Omikhleia/ptable.sile
v4.2.0
The minor release introduces gradient support in the framebox package (#27).
The grail library dependency is updated (automatically installed if you use luarocks).
Every color-related parameter to the framebox, roundbox and roughbox commands can now be a gradient name, and with appropriate support, used gradients will be output to the generated PDF.
In order to use this feature in your SILE documents, however, two additional pieces are needed:
- A SILE update to the C bindings to the PDF engine (sile-typesetter/sile#2308)
- An update to the re·sil·ient collection with a new package responsible for inserting gradients in the PDF output (Omikhleia/resilient.sile#194).
At this date, these are not released.
In other terms, upgrading this module in your workflow is not necessary yet 😸
But the module will be ready when the time comes...
(And yes, that's the usual back-and-forth game with co-dependencies, at least until #22 occurs.)
v4.1.0
This major release drops support for SILE versions older than 0.15.12.
This is a (technical) breaking change, hence the major version bump.
(Version 4.0.0 has been removed due to a licensing misstep and is considered retracted. All changes are incorporated in 4.1.0 under the original MIT license.)
Breaking changes
-
This release now supports SILE 0.15.12 only. Earlier versions are no longer supported. The dependency on the silex.sile module has been removed and the (hardly maintained) compatibility shims for SILE 0.14.x are no longer included.
If your Linux distribution doesn't have SILE 0.15.12 yet, please refer to whom it deserves for this version to become available for your system. SILE 0.15 was released in June 2024, so nearly one year ago. It includes lots of features and bug fixes used in our packages.
v3.3.0
This minor releases contains a few new features, some bug fixes and a lot of code refactoring.
Features
- Tables (
ptable) and paragraph boxes (parbox) now support therough=trueoption for a sketchy, hand-drawn rendering style.
Fixes
- Another instance of incorrect number rounding has been fixed, which previously caused unexpected results in certain cases.
Other changes
Code refactoring is usually omitted from release notes, but since this release focuses on it...
-
This module now uses the grail graphics intermediate layer.
(Installation with luarocks will automatically install the required dependencies, so this note is mostly for rare users with custom setups.)
3rd-party packages that relied on this module's graphics functions should be updated to use the new library instead. Compatibility shims are provided, but a deprecation warning will be issued. -
Thanks to @alerque, the creation of the parbox typesetter is now more robust, improving compatibility with future versions of SILE.
The README now reflects the updated minimum SILE version requirement of 0.15.10.
Actually, the compatibility shims with earlier versions are still there, but they are not tested anymore.
v3.2.0
This minor release is just a technical refactor.
The primitives for drawing sketchy lines and curves (as used by the "framebox" package in the collection) have been extracted to the rough module, and this collection of package now depends on it.
This change should have no impact on users installing it via Luarocks (which takes care of installing the dependency automatically).
Other users (directly toying with a clone of the code, etc.) may need to run luarocks install rough.
v3.1.1
v3.1.0
This minor release adds support for SILE 0.15, while still maintaining compatibility with SILE 0.14.11 and later.
However, we strongly recommend upgrading to at least SILE 0.15.5 for the best performance and compatibility.
If you are using an older version of SILE, please upgrade to avoid potential issues.
v3.0.0
This is a major release which contains substantial changes to the framebox package.
Fixes
- Stop defaulting to black in the framebox package (#17)
All box-related commands now use the current color rather than defaulting to black when some (optional) color arguments are not specified.
Features
- Add
fillstyleoption to\roughboxin framebox package, and support more pattern filling options (#15)
The default style is "hachure", but "solid", "zigzag", "cross-hatch","“dashed" and "zigzag-line” are now also supported.
Migration notes
Regular users might be affected by the following changes:
- Boxes were always black by default, even if some color was set in the surrounding context. As noted above, they now use the current color. Explicitly specify a color, if you want it otherwise.
- The Lua implementation of the "rough" drawing algorithm, an updated port of the rough.js JavaScript library, has changed a lot, including how it uses the pseudo-random number generation (PRNG). As a consequence, you are not guaranteed to get the exact same rough boxes, identically stroked or filled, as you did with earlier versions of the module. They should still look good, of course, but the randomness will not be the same.
Regular users should not be affected by the following changes:
- Several low-level APIs have changed (homogenizing some of the differences between the DefaultPainter and the RoughPainter, which now both admit
"none"as fill or stroke option).- You shouldn't be affected, unless you developed your own components using these APIs
- If it is the case, you may need to review your code.
- The rough.js port to Lua was fully reorganized (files split and moved in different folders)
- You shouldn't be affected, unless you developed your own components using these files
- If it is the case, you may need to review your code.
- Some now useless "compatibility" files have been removed.
- You shouldn't be affected, unless you are still using fairly old versions of the resilient.sile or markdown.sile collections.
- If it is the case, consider upgrading to the latest versions.
- A few undocumented features have been removed.
- Notably, the framebox packaged had an undocumented experimental
\roughundercommand. - You shouldn't be affected, unless you were using such undocumented and experimental code.
- Notably, the framebox packaged had an undocumented experimental
v2.0.2
This patch release removes the dependency on silex.sile introduced in the previous releases. (#13, #14)
It also removes old compatibility shims (< SILE 0.14.9).
Moreover, the minimum officially supported version of SILE is now 0.14.13.
(Theoretically the minimum supported version is SILE 0.14.9, but we cannot afford testing older versions forever.)
v2.0.1
v2.0.0
After more than a year, it's time to mark and tag the first official release of this module.
It starts at 2.x as I used to call 1.x the versions that were part of an older collection for SILE 0.12.x, and at point proposed upstream to SILE -- until it eventually became the present 3rd-party module, ported to SILE 0.14.x with changes and improvements.