Skip to content

Releases: Nukesor/comfy-table

v6.1.1

18 Oct 16:27
757381b
Compare
Choose a tag to compare

Fixed

  • Fixed an issue where dynamic arrangement failed when setting the table to the exact width of the content #90.
  • The header size is now properly respected in the final optimization step #90.
    Previously, this wasn't the case and lead to weird formatting behavior when both of the following were true
    • Dynamic content adjustment was active.
    • The table didn't fit into the the available space.
    • The header of a row was longer than its content.
  • Fix wrong LowerBoundary calculation. This was introduced in commit bee764d, when this logic was refactored. #90.
  • Table::column_iter no longer requires a &mut self, but only &self.

v6.1.0

26 Sep 12:21
a8f9ded
Compare
Choose a tag to compare

Added

  • Add Table::add_rows to add multiple rows at the same time.

Misc

  • Update crossterm to v0.24

v6.0.0

26 Sep 12:21
c32a346
Compare
Choose a tag to compare

Added

  • Add Table::style_text_only(), which prevents non-delimiter whitespaces in cells to be styled.
  • Add the Table::discover_columns function and add info on when to use it to Row::add_cell.

Breaking Changes

  • Renaming of several functions to be Rust idiomatic:
    • Cell::get_content -> Cell::content
    • Column::get_padding_width -> Column::padding_width
    • Column::get_constraint -> Column::constraint
    • Table::get_header -> Table::header
    • Table::get_table_width -> Table::width
    • Table::set_table_width -> Table::set_width
    • Table::set_style -> Table::style
    • Table::get_column -> Table::column
    • Table::get_column_mut -> Table::column_mut
    • Table::get_row -> Table::row
    • Table::get_row_mut -> Table::row_mut
  • Column::get_max_width and Column::get_max_content_width have been removed as we cannot guarantee that these numbers are always correct.
    Use Table::column_max_content_widths instead

Changed

  • Table::column_max_content_widths now performs a full scan of the table's content when called.
  • Don't include Table::is_tty, Table::force_no_tty and Table::should_style if tty feature isn't enabled.

v6.0.0-rc.1

11 Mar 13:56
f6eddee
Compare
Choose a tag to compare
v6.0.0-rc.1 Pre-release
Pre-release
(cargo-release) comfy-table version 6.0.0-rc.1

v5.0.0

07 Nov 01:09
fbee128
Compare
Choose a tag to compare

[5.0.0] - 2021-11-07

Updates

  • All dependencies have been bumped.

Added

  • Add option to use stderr for is_tty check #25.

Breaking

  • Remove ASCII_HORIZONTAL_BORDERS_ONLY in favor of ASCII_HORIZONTAL_ONLY.
  • Remove UTF8_HORIZONTAL_BORDERS_ONLY in favor of UTF8_HORIZONTAL_ONLY.

v4.1.1

11 Aug 16:09
9468194
Compare
Choose a tag to compare

[4.1.1] - 2021-08-11

Added

  • tty feature flag, which enables tty related functionality.
    This includes styling and terminal-width detection.
    The tty feature flag is enabled by default.
    Implemented by roee88 in #47.

v4.1.0

09 Aug 12:13
3307e9b
Compare
Choose a tag to compare

[4.1.0] - 2021-08-09

Added

  • Add modifiers::UTF8_SOLID_INNER_BORDERS, which makes the inner borders solid lines: │─ by ModProg for #39.
  • Add presets::ASCII_BORDERS_ONLY_CONDENSED, which is ASCII_BORDERS_ONLY but without spacing between rows #43.

Fixed

  • Several preset examples weren't correct.
  • Multi-character UTF8 symbols are now handled correctly in most situations.
    Table-layout might still break for 1-character columns.
  • Mid-word splitting now takes multi-character utf8 characters into account.

Changed

  • Rename ASCII_HORIZONTAL_BORDERS_ONLY to ASCII_HORIZONTAL_ONLY. Old imports will still work until v5.0.
  • Rename UTF8_HORIZONTAL_BORDERS_ONLY to UTF8_HORIZONTAL_ONLY. Old imports will still work until v5.0.

v4.0.1

08 Jul 14:34
dcf766b
Compare
Choose a tag to compare

[4.0.1] - 2021-07-08

Fixed

  • Some docstrings on the ColumnConstraint and Width enum were wrong.

v4.0.0

03 Jul 21:59
9335463
Compare
Choose a tag to compare

[4.0.0] - 2021-07-03

Added

  • Add Table::lines, which returns an iterator over all lines of the final table output by dmaahs2017 for #35.
  • Add ColumnConstraints::Boundaries{lower: Width, upper: Width} to specify both an upper and a lower boundary.

Fixed

  • Fixed percentages sometimes weren't correctly calculated, due to not taking border columns into account.
  • Return None for Table::get_table_width, if getting the terminal size somehow failed.
  • Fixed a lot of possible, but highly unlikely number conversion overflow issues.
  • Run space optimization under all circumstances.
  • Percentage constraints with values of >100 will now be capped to 100.
  • The MinConstraint would be ignored when:
    • The content was larger than the min constraint
    • There was less space available than specified in the constraint.

Changed

  • The way ColumnConstraints are initialized has been changed.
    There is now
enum ColumnConstraints {
    ...,
    /// Enforce a absolute width for a column.
    Absolute(Width),
    /// Specify a lower boundary, either fixed or as percentage of the total width.
    LowerBoundary(Width),
    /// Specify a upper boundary, either fixed or as percentage of the total width.
    UpperBoundary(Width),
}

pub enum Width {
    /// Specify a min amount of characters per line for a column.
    Fixed(u16),
    /// Set a a minimum percentage in respect to table_width for this column.
    /// Values above 100 will be automatically reduced to 100.
    /// **Warning:** This option will be ignored, if the width cannot be determined!
    Percentage(u16),
}

Instead of the old

enum ColumnConstraints {
    ...,
    Width(u16),
    MinWidth(u16),
    MaxWidth(u16),
    Percentage(u16),
    MinPercentage(u16),
    MaxPercentage(u16),
}

v3.0.0

13 Jun 13:10
a8e2b7c
Compare
Choose a tag to compare

[3.0.0] - 2021-06-13

Breaking changes

  • Remove most custom traits and replace them with std's generic From trait.
    Check the docs on the trait implementations for Cell, Row and Cells
  • Add the Cells type, to allow super generic Iterator -> Row conversions.