Skip to content

Releases: Omikhleia/ptable.sile

v4.2.0

14 May 15:34
1d1b1ba

Choose a tag to compare

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:

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

08 May 18:03
2a61206

Choose a tag to compare

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

03 Apr 22:42

Choose a tag to compare

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 the rough=true option 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

01 Mar 12:02

Choose a tag to compare

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

28 Jan 19:30
9b393b0

Choose a tag to compare

This is a patch release for bug fixes.

Fixes

  • Rough graphics path rounding error breaking some PDF readers and/or printers (#20)

v3.1.0

31 Aug 16:57
8fbb038

Choose a tag to compare

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

05 Mar 20:18

Choose a tag to compare

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 fillstyle option to \roughbox in 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 \roughunder command.
    • You shouldn't be affected, unless you were using such undocumented and experimental code.

v2.0.2

13 Dec 16:26
1b49d34

Choose a tag to compare

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

08 Dec 12:22
238354d

Choose a tag to compare

This is just a patch release with better compatibility for Lua "minimum" profile (#12).

v2.0.0

05 Aug 18:38

Choose a tag to compare

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.