Releases: Nukesor/comfy-table
v7.2.2
[7.2.2] - 2026-01-13
Fix
- Minor performance improvements
- Fixed an edge-case, where multiple LowerBoundary constraints weren't uphold.
- Fixed an issue where tables were misformatted when no vertical border styling was specified. #198
[7.2.1] - 2025-09-11
Misc
- Adjust a single test case to not fail in
0x0sized tty-environments. !186
v7.2.0
v7.1.4
[7.1.4] - 2025-02-07
Fix
- Handle UTF-8 graphemes when truncating cells. #167
- Respect UTF-8 zero-width joiner and variation selection characters when splitting words. #168 by tisonkun
Change
- Remove strum dependency. #169 by tisonkun
- Introduce the
unicode-segmentationlibrary in the scope of #167 and #168. - The new changes for correct UTF-8 handling have a performance hit of up to ~67%.
However, this will be most likely unnoticable for most people.
The benchmark table with 10 columns and 500 rows slowed down from 15ms to 25ms.
For "normal" tables, the performance hit is negligible.
Chore
- Bump ansi-str
v7.1.3
v7.1.2
v7.1.1
v7.1.0
v7.0.1
[7.0.1] - 2023-06-16
Fix
- Fix a panic when working with extreme paddings, where
(padding.left + padding.right) > u16::MAX. - Fix a panic when working with extremely long content, where
(content_width + padding) > u16::MAX. - Properly enforce lower boundary constraints.
Previously, "normal" columns were allocated before lower boundaries were respected.
This could lead to scenarios, where the table would grow beyond the specified size, when there was a lower boundary. - Fix calculation of column widths for empty columns.
The minimum content width for a column is1char, but thecolumn_max_content_widthsfunction on the table returned a0width for fully empty columns.
This resulted in tables becoming larger than specified if there were any empty columns.
Misc
- Extend property tests, which lead to the discovery of some bugs.
v7.0.0
[7.0.0] - 2023-06-06
Breaking
-
The
ColorandAttributeenum are no longer re-exported from crossterm by default.
Previously, when updating comfy-table, crossterm needed to be upgraded as well, since the compile would otherwise fail due to type incompatibilies.To fix this, these enums are now mirrored and internally mapped to their crossterm equivalents, which allows us to safely bump crossterm whenever a new version is released.
This change will only affect you if your projects explicitly use crossterm and comfy-table at the same time and feed crossterm's native types into comfy-table.If one wants the old behavior for convenience reasons, this can be enabled via a feature flag.
However, this is also a opt-in to potential breaking changes on minor/patch versions. -
Bump minimum version to v1.64
Added
reexport_crosstermfeature flag to enable old crossterm re-export.
v6.2.0
[6.2.0] - 2023-05-26
Added
- Add support for custom ansi styling inside of cells. This feature is hidden behind the feature flag
custom_styling. Implemented by blueforesticarus in #93. - Add helper functions
add_row[s]_if, which filtering of rows by a predicate. Implemented by Techassi in #106.
Maintenance
- Bump dependencies