dependabot[bot] opened a new pull request, #10610: URL: https://github.com/apache/arrow-rs/pull/10610
Bumps [comfy-table](https://github.com/nukesor/comfy-table) from 7.2.2 to 8.0.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/nukesor/comfy-table/releases">comfy-table's releases</a>.</em></p> <blockquote> <h2>v8.0.0</h2> <h2>[8.0.0] - 05.08.2026</h2> <h3>Breaking Changes</h3> <ul> <li> <p>The following types and functions have been removed:</p> <ul> <li><code>TableComponent</code> enum</li> <li>The <code>modifiers</code> module and <code>Table::apply_modifier</code> have been removed.</li> <li><code>Table::current_style_as_preset</code></li> <li><code>Table::set_style</code></li> <li><code>Table::style</code></li> <li><code>Table::remove_style</code></li> <li><code>Table::load_preset</code></li> </ul> </li> <li> <p>The positional preset string format has been replaced with the new <code>TableStyle</code>, <code>LineStyle</code> and <code>ContentLineStyle</code> types. The old approach of having "stringified" presets was too finicky and also implicitly bound to the order of variants in the old <code>TableComponent</code> enum. It was just not a good design.</p> <p>The new design, in comparison, has a nice and (hopefully) intuitive API to define a style. On top of that, all functions on <code>TableStyle</code> are <code>const</code>, so custom styles can still be declared as constants:</p> <pre lang="rust"><code>const MY_STYLE: TableStyle = TableStyle::new() .top_border(LineStyle::new('┌', '─', '┬', '┐')) .header_lines(ContentLineStyle::new('│', '┆', '│')) .header_separator(LineStyle::new('╞', '═', '╪', '╡')) .content_lines(ContentLineStyle::new('│', '┆', '│')) .bottom_border(LineStyle::new('└', '─', '┴', '┘')); </code></pre> <p>The new API looks as follows:</p> <ul> <li>Presets in <code>comfy_table::presets::*</code> are now <code>TableStyle</code> constants.</li> <li><code>Table::load_style(style)</code> has been added to load a preset or custom style.</li> <li><code>Table::style()</code> and <code>Table::style_mut()</code> to get a handle to the style used by the table. The <code>mut</code> handle can be used to change the style.</li> <li>Instead of modifiers, there are now functions on TableStyle <code>TableStyle::with_rounded_corners</code>/<code>TableStyle::with_solid_inner_borders</code>.</li> <li>All fields of <code>TableStyle</code>, <code>LineStyle</code> and <code>ContentLineStyle</code> are public: <pre lang="rust"><code>table.style_mut().top_border.left = Some('╭'); </code></pre> </li> </ul> </li> <li> <p>The default truncation indicator is now <code>…</code> instead of <code>...</code>. This should make it more obvious that there's more text and consumes less visual space.</p> </li> </ul> <h3>Fix</h3> <ul> <li> <p>Various performance improvements that reduce table formatting time quite a bit:</p> <ul> <li>~36% for "normal" tables (The readme of the project). <code>17µs -> 11µs</code></li> <li>~34% for "larger" tables, which I would consider a reasonable usecase. <code>253µs -> 172µs</code></li> <li>~70% for <strong>very</strong> large tables, i.e. a 10x500 table. -> <code>20.8ms -> 6.15ms</code></li> </ul> <p>Most of these improvements boil down to:</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/Nukesor/comfy-table/blob/main/CHANGELOG.md">comfy-table's changelog</a>.</em></p> <blockquote> <h2>[8.0.0] - 05.08.2026</h2> <h3>Breaking Changes</h3> <ul> <li> <p>The following types and functions have been removed:</p> <ul> <li><code>TableComponent</code> enum</li> <li>The <code>modifiers</code> module and <code>Table::apply_modifier</code> have been removed.</li> <li><code>Table::current_style_as_preset</code></li> <li><code>Table::set_style</code></li> <li><code>Table::style</code></li> <li><code>Table::remove_style</code></li> <li><code>Table::load_preset</code></li> </ul> </li> <li> <p>The positional preset string format has been replaced with the new <code>TableStyle</code>, <code>LineStyle</code> and <code>ContentLineStyle</code> types. The old approach of having "stringified" presets was too finicky and also implicitly bound to the order of variants in the old <code>TableComponent</code> enum. It was just not a good design.</p> <p>The new design, in comparison, has a nice and (hopefully) intuitive API to define a style. On top of that, all functions on <code>TableStyle</code> are <code>const</code>, so custom styles can still be declared as constants:</p> <pre lang="rust"><code>const MY_STYLE: TableStyle = TableStyle::new() .top_border(LineStyle::new('┌', '─', '┬', '┐')) .header_lines(ContentLineStyle::new('│', '┆', '│')) .header_separator(LineStyle::new('╞', '═', '╪', '╡')) .content_lines(ContentLineStyle::new('│', '┆', '│')) .bottom_border(LineStyle::new('└', '─', '┴', '┘')); </code></pre> <p>The new API looks as follows:</p> <ul> <li>Presets in <code>comfy_table::presets::*</code> are now <code>TableStyle</code> constants.</li> <li><code>Table::load_style(style)</code> has been added to load a preset or custom style.</li> <li><code>Table::style()</code> and <code>Table::style_mut()</code> to get a handle to the style used by the table. The <code>mut</code> handle can be used to change the style.</li> <li>Instead of modifiers, there are now functions on TableStyle <code>TableStyle::with_rounded_corners</code>/<code>TableStyle::with_solid_inner_borders</code>.</li> <li>All fields of <code>TableStyle</code>, <code>LineStyle</code> and <code>ContentLineStyle</code> are public: <pre lang="rust"><code>table.style_mut().top_border.left = Some('╭'); </code></pre> </li> </ul> </li> <li> <p>The default truncation indicator is now <code>…</code> instead of <code>...</code>. This should make it more obvious that there's more text and consumes less visual space.</p> </li> </ul> <h3>Fix</h3> <ul> <li> <p>Various performance improvements that reduce table formatting time quite a bit:</p> <ul> <li>~36% for "normal" tables (The readme of the project). <code>17µs -> 11µs</code></li> <li>~34% for "larger" tables, which I would consider a reasonable usecase. <code>253µs -> 172µs</code></li> <li>~70% for <strong>very</strong> large tables, i.e. a 10x500 table. -> <code>20.8ms -> 6.15ms</code></li> </ul> <p>Most of these improvements boil down to:</p> <ul> <li>Less string allocations.</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/Nukesor/comfy-table/commit/cf91e018992e1df48aa2008ab8a9d3246d6b1d2c"><code>cf91e01</code></a> chore: Release comfy-table version 8.0.0</li> <li><a href="https://github.com/Nukesor/comfy-table/commit/38f044c347197a5278e053b5e9dd5cdaffc02847"><code>38f044c</code></a> chore: Prepare release</li> <li><a href="https://github.com/Nukesor/comfy-table/commit/401171a27ff32e1c011775828b8afd418e08927c"><code>401171a</code></a> refactor: Replace old presets with TableStyle</li> <li><a href="https://github.com/Nukesor/comfy-table/commit/f4be04ac96ed0499f0f35631396e9d13fb20410c"><code>f4be04a</code></a> chore: Fix and extend lints</li> <li><a href="https://github.com/Nukesor/comfy-table/commit/1bdfda2e75f7838ebedfdd5a6787fbc1950faae3"><code>1bdfda2</code></a> perf: Don't allocate strings when splitting</li> <li><a href="https://github.com/Nukesor/comfy-table/commit/36bd44f9229828b7cc5c8b6e77584b33ca2a7a10"><code>36bd44f</code></a> perf: Track line width in split_line</li> <li><a href="https://github.com/Nukesor/comfy-table/commit/212099cdcca72125f0c5e7f2e8e86e8140d04aad"><code>212099c</code></a> perf: Optimize border handling in draw_rows</li> <li><a href="https://github.com/Nukesor/comfy-table/commit/a9680111b91acac30d06bc9dee5ba5aca120d70d"><code>a968011</code></a> perf: Cut down string allocations in align_line</li> <li><a href="https://github.com/Nukesor/comfy-table/commit/fea164e9e070c25fa0b1ce770c15a3de8b3dcd21"><code>fea164e</code></a> perf: Move formatted lines instead of cloning them</li> <li><a href="https://github.com/Nukesor/comfy-table/commit/2935d4e45c1ec2b83415fe516b45c6c86d4490c1"><code>2935d4e</code></a> perf: Add printable-ASCII fast path to split_long_word</li> <li>Additional commits viewable in <a href="https://github.com/nukesor/comfy-table/compare/v7.2.2...v8.0.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
