Skip to content

v7.0.0

Choose a tag to compare

@tecfu tecfu released this 20 Sep 23:36
· 210 commits to master since this release

Breaking Changes

  • Node.js requirement: The minimum supported Node.js version is now 22 (previously 20). This is required by smartwrap@4 / breakword@2.1.0. Applications that must stay on Node 20 should remain on the previous tty-table release line until they can upgrade.
  • Display-width measurement: Widths are now measured with breakword.width() instead of wcwidth. A generated Unicode 18.0.0 East Asian Width table (plus UAX #51 Emoji_Presentation) is used. Some code points that wcwidth 1.x scored as 1 cell are now measured as 2 (for example ⚡ U+26A1). Tables that contain those characters may reflow slightly compared with prior releases. Wrapping and truncation use the same primitive, so behavior is internally consistent. ZWJ emoji sequences (for example 👨‍👩‍👧) are still measured as the sum of their code points, matching the primitive smartwrap uses to wrap.

Other

  • smartwrap upgraded from ^2.0.2 to ^4.0.0 (ships its own TypeScript types; local shim removed).
  • Direct dependency on breakword; wcwidth removed.