All Versions
Latest Version
Avg Release Cycle
96 days
Latest Release

Changelog History
Page 1

  • v3.0.0

    No external API changes, but we are dropping support for Elixir v1.7 and below along with Erlang OTP v20 and below and as such the major version number is โฌ†๏ธ bumping to appreciate that.

  • v2.0.0

    April 29, 2018

    ๐Ÿ”– Version 2 has no external API breaking changes but we are bumping the major version ๐Ÿ‘€ number as the internal data structure of the %Cell{} struct has changed. See note below.

    ๐Ÿ†• New features:

    • sort! Tables can now have a basic sort function which uses Elixir's term ordering to sort your table rows by a specific column in either ascending or descending order. Please see the README for usage; many thanks to everyone at @elixir-poa for this change.

    • ๐Ÿ†“ you are now free to add your own ANSI color wrappers to text within an inline cell, the extra characters this adds are ignored as part of width calculations and therefore the structure of the table no longer breaks when you do this. Thanks to @geolessel for this change.

    %Cell{} struct change

    Previously Cells only stored the string-coerced version of the data you wanted to insert into the table. This was limiting as it meant we could not sort your tables as type information was lost in that process. It also opens up TableRex to many other features now that we keep the original data.

    The stringified value of a Cell used to be stored at value, it is now stored at rendered_value - with the original being stored at raw_value.

    To migrate:

    • If you are creating Cells, instead of passing value, pass raw_value.
    • If you are using Cells, it's likely you'll want to use Cell.rendered_value which is now what the removed Cell.value used to be.
  • v1.0.0

    December 10, 2017

    ๐Ÿ‘€ The API seems stable enough, sans major complaints, and has no major open bugs ๐Ÿš€ so here is our version 1 release!

    ๐Ÿš€ This release brings only new feature:

    • TableRex has gained the ability to stretch the table width to accomodate long titles, thanks to @matt-harvey.

    And one breaking change:

    • ๐Ÿ‘ We are dropping support for Elixir v1.2.x and Erlang 18.x. For the time โœ… being, we support the latest 3 minor versions of Elixir, and the latest 2 major versions for Erlang.

    ๐Ÿš€ From now on - as per semver, new breaking changes will increment the major release ๐Ÿš€ number, new non-breaking features will increment the minor release number and ๐Ÿ› bug fixes will update the patch number.

  • v0.10.0

    January 14, 2017

    ๐Ÿ’ฅ Breaking changes

    โฌ‡๏ธ Dropped support for Elixir v1.1.x. We support the latest 3 minor versions, and โœ… the latest 2 major versions for Erlang OTP.

    Other changes:

    ๐Ÿ›  Fixed all compiler warnings resulting from Elixir 1.3 and 1.4 releases.

  • v0.9.0

    January 14, 2017

    ๐Ÿ‘ Justin G (@theredcoder) has added support for header, column and cell level foreground & background ANSI colouring. Many thanks to Justin.

  • v0.8.3

    ๐Ÿ›  Fixed warnings caused by Elixir 1.3's unsafe variable checker.

  • v0.8.2

    โšก๏ธ Updated some locked development dependencies to reduce warning output during usage.

  • v0.8.1

    ๐Ÿ›  Fixed a compilation bug in the new Elixir 1.3. No other changes.

  • v0.8.0

    January 18, 2016

    ๐Ÿ’ฅ Breaking changes

    All Table.set_* functions have been changed to Table.put_* to better reflect their functionality and mimic convention used elsewhere in the Elixir ecosphere.

  • v0.7.0

    January 09, 2016

    ๐Ÿ’ฅ Breaking changes

    0๏ธโƒฃ The default alignment for columns is now :left rather than :center.

    This could be a breaking change for your project as if you had not explicitly set columns to be of a certain alignment then your tables will now be output with columns aligned to the left rather than centered as before. This change was made as it's much more likely that a LTR language user is going to want ๐Ÿ‘ left aligned columns, especially with the multiline cell support which will land soon.

    If you wish to remain using center-aligned columns then you can manipulate your table struct by calling:

    Table.set_column_meta(table, :all, align: :center)

    Other changes:

    Table.set_column_meta and Table.set_header_meta now can also take their column index(es) argument as an enumerable. Previously set_header_meta could not do this and set_column_meta could only be provided a range.

    Example usage:

    Table.set_column_meta(table, 0, align: :right) # aligns column 0 to the right.
    Table.set_column_meta(table, 0..4, align: :right) # aligns column 0 through 4 to the right.
    Table.set_column_meta(table, [0, 3, 5], align: :right) # aligns column 0, 3 & 5 to the right.
    Table.set_column_meta(table, :all, align: :right) # aligns all current and future columns to the right.
    Table.set_header_meta(table, 0, align: :right) # aligns header cell 0 to the right.
    Table.set_header_meta(table, 0..4, align: :right) # aligns header cells 0 through 4 to the right.
    Table.set_header_meta(table, [0, 3, 5], align: :right) # aligns header cells 0, 3 & 5 to the right.