Fixed issue with characters outside of unicode range reporting 0 cell size
[14.3.1] - 2026-01-24
Fixed
Fixed characters out of unicode range reporting a cell size if 0 Textualize/rich#3944
The more emojis release
Rich now has support for multi-codepoint emojis. There have also been some Markdown improvements, and a number of fixes. See the release notes below for details.
[14.3.0] - 2026-01-24
Fixed
IPython now respects when a Console instance is passed to pretty.installTextualize/rich#3915
Fixed extraneous blank line on non-interactive disabled ProgressTextualize/rich#3905
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 commands and options
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)
[//]: # (dependabot-start)
⚠️ **Dependabot is rebasing this PR** ⚠️
Rebasing might not happen immediately, so don't worry if this takes some time.
Note: if you make any changes to this PR yourself, they will take precedence over the rebase.
---
[//]: # (dependabot-end)
Bumps [rich](https://github.com/Textualize/rich) from 14.2.0 to 14.3.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/Textualize/rich/releases">rich's releases</a>.</em></p>
<blockquote>
<h2>The infinite Release</h2>
<p>Fixed a infinite loop in split_graphemes</p>
<h2>[14.3.3] - 2026-02-19</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed infinite loop with <code>cells.split_graphemes</code> <a href="https://redirect.github.com/Textualize/rich/pull/4006">Textualize/rich#4006</a></li>
</ul>
<h2>The ZWJy release</h2>
<p>A fix for <code>cell_len</code> edge cases</p>
<h2>[14.3.2] - 2026-02-01</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed solo ZWJ crash <a href="https://redirect.github.com/Textualize/rich/pull/3953">Textualize/rich#3953</a></li>
<li>Fixed control codes reporting width of 1 <a href="https://redirect.github.com/Textualize/rich/pull/3953">Textualize/rich#3953</a></li>
</ul>
<h2>The Nerdy Fix release</h2>
<p>Fixed issue with characters outside of unicode range reporting 0 cell size</p>
<h2>[14.3.1] - 2026-01-24</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed characters out of unicode range reporting a cell size if 0 <a href="https://redirect.github.com/Textualize/rich/pull/3944">Textualize/rich#3944</a></li>
</ul>
<h2>The more emojis release</h2>
<p>Rich now has support for multi-codepoint emojis. There have also been some Markdown improvements, and a number of fixes. See the release notes below for details.</p>
<h2>[14.3.0] - 2026-01-24</h2>
<h3>Fixed</h3>
<ul>
<li>IPython now respects when a <code>Console</code> instance is passed to <code>pretty.install</code> <a href="https://redirect.github.com/Textualize/rich/pull/3915">Textualize/rich#3915</a></li>
<li>Fixed extraneous blank line on non-interactive disabled <code>Progress</code> <a href="https://redirect.github.com/Textualize/rich/pull/3905">Textualize/rich#3905</a></li>
<li>Fixed extra padding on first cell in columns <a href="https://redirect.github.com/Textualize/rich/pull/3935">Textualize/rich#3935</a></li>
<li>Fixed trailing whitespace removed when soft_wrap=True <a href="https://redirect.github.com/Textualize/rich/pull/3937">Textualize/rich#3937</a></li>
<li>Fixed style new-lines when soft_wrap = True and a print style is set <a href="https://redirect.github.com/Textualize/rich/pull/3938">Textualize/rich#3938</a></li>
</ul>
<h3>Added</h3>
<ul>
<li>Added support for some multi-codepopint glyphs (will fix alignment issues for these characters) <a href="https://redirect.github.com/Textualize/rich/pull/3930">Textualize/rich#3930</a></li>
<li>Added support for <code>UNICODE_VERSION</code> environment variable <a href="https://redirect.github.com/Textualize/rich/pull/3930">Textualize/rich#3930</a></li>
<li>Added <code>last_render_height</code> property to LiveRender <a href="https://redirect.github.com/Textualize/rich/pull/3934">Textualize/rich#3934</a></li>
<li>Expose locals_max_depth and locals_overflow in traceback.install <a href="https://redirect.github.com/Textualize/rich/pull/3906/">Textualize/rich#3906</a></li>
<li>Added <code>Segment.split_lines_terminator</code> <a href="https://redirect.github.com/Textualize/rich/pull/3938">Textualize/rich#3938</a></li>
</ul>
<h3>Changed</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Textualize/rich/blob/master/CHANGELOG.md">rich's changelog</a>.</em></p>
<blockquote>
<h2>[14.3.3] - 2026-02-19</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed infinite loop with <code>cells.split_graphemes</code> <a href="https://redirect.github.com/Textualize/rich/pull/4006">Textualize/rich#4006</a></li>
</ul>
<h2>[14.3.2] - 2026-02-01</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed solo ZWJ crash <a href="https://redirect.github.com/Textualize/rich/pull/3953">Textualize/rich#3953</a></li>
<li>Fixed control codes reporting width of 1 <a href="https://redirect.github.com/Textualize/rich/pull/3953">Textualize/rich#3953</a></li>
</ul>
<h2>[14.3.1] - 2026-01-24</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed characters out of unicode range reporting a cell size if 0 <a href="https://redirect.github.com/Textualize/rich/pull/3944">Textualize/rich#3944</a></li>
</ul>
<h2>[14.3.0] - 2026-01-24</h2>
<h3>Fixed</h3>
<ul>
<li>IPython now respects when a <code>Console</code> instance is passed to <code>pretty.install</code> <a href="https://redirect.github.com/Textualize/rich/pull/3915">Textualize/rich#3915</a></li>
<li>Fixed extraneous blank line on non-interactive disabled <code>Progress</code> <a href="https://redirect.github.com/Textualize/rich/pull/3905">Textualize/rich#3905</a></li>
<li>Fixed extra padding on first cell in columns <a href="https://redirect.github.com/Textualize/rich/pull/3935">Textualize/rich#3935</a></li>
<li>Fixed trailing whitespace removed when soft_wrap=True <a href="https://redirect.github.com/Textualize/rich/pull/3937">Textualize/rich#3937</a></li>
<li>Fixed style new-lines when soft_wrap = True and a print style is set <a href="https://redirect.github.com/Textualize/rich/pull/3938">Textualize/rich#3938</a></li>
</ul>
<h3>Added</h3>
<ul>
<li>Added support for some multi-codepopint glyphs (will fix alignment issues for these characters) <a href="https://redirect.github.com/Textualize/rich/pull/3930">Textualize/rich#3930</a></li>
<li>Added support for <code>UNICODE_VERSION</code> environment variable <a href="https://redirect.github.com/Textualize/rich/pull/3930">Textualize/rich#3930</a></li>
<li>Added <code>last_render_height</code> property to LiveRender <a href="https://redirect.github.com/Textualize/rich/pull/3934">Textualize/rich#3934</a></li>
<li>Expose locals_max_depth and locals_overflow in traceback.install <a href="https://redirect.github.com/Textualize/rich/pull/3906/">Textualize/rich#3906</a></li>
<li>Added <code>Segment.split_lines_terminator</code> <a href="https://redirect.github.com/Textualize/rich/pull/3938">Textualize/rich#3938</a></li>
</ul>
<h3>Changed</h3>
<ul>
<li><code>cells.cell_len</code> now has a <code>unicode_version</code> parameter (that you probably should never change) <a href="https://redirect.github.com/Textualize/rich/pull/3930">Textualize/rich#3930</a></li>
<li>Live will not write a new line if there was nothing rendered <a href="https://redirect.github.com/Textualize/rich/pull/3934">Textualize/rich#3934</a></li>
<li>Changed style of Markdown headers <a href="https://redirect.github.com/Textualize/rich/pull/3942">Textualize/rich#3942</a></li>
<li>Changed style of Markdown tables, added <code>markdown.table.header</code> and <code>markdown.table.border</code> styles <a href="https://redirect.github.com/Textualize/rich/pull/3942">Textualize/rich#3942</a></li>
<li>Changed style of Markdown rules <a href="https://redirect.github.com/Textualize/rich/pull/3942">Textualize/rich#3942</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/Textualize/rich/commit/ce0118819d172d134507bcf5982d3faf82bbc43e"><code>ce01188</code></a> Merge pull request <a href="https://redirect.github.com/Textualize/rich/issues/4008">#4008</a> from Textualize/bump1433</li>
<li><a href="https://github.com/Textualize/rich/commit/14a47c928241fe5cbf2f1adab0bb61fd1db3472f"><code>14a47c9</code></a> bump</li>
<li><a href="https://github.com/Textualize/rich/commit/f54bfe062865187fe3bc733769dcd990a5a0ffe3"><code>f54bfe0</code></a> Merge pull request <a href="https://redirect.github.com/Textualize/rich/issues/4007">#4007</a> from Textualize/copilot/sub-pr-4006</li>
<li><a href="https://github.com/Textualize/rich/commit/7338cb9dafd0d0e916585f191ae505b3e602bb51"><code>7338cb9</code></a> Merge pull request <a href="https://redirect.github.com/Textualize/rich/issues/4006">#4006</a> from Textualize/fix-grapheme-stuck</li>
<li><a href="https://github.com/Textualize/rich/commit/905b397deb6b5ed59dfd80fa499c90e215f309c8"><code>905b397</code></a> Update tests/test_cells.py</li>
<li><a href="https://github.com/Textualize/rich/commit/b031dca1d74f1f82a02d71e771b116ec4f9ad6c8"><code>b031dca</code></a> Update tests/test_cells.py</li>
<li><a href="https://github.com/Textualize/rich/commit/f07a3fc5f5f4d5bfc0152cca4b103369934cd8b6"><code>f07a3fc</code></a> Add regression tests for VS16 after zero-width chars in split_graphemes</li>
<li><a href="https://github.com/Textualize/rich/commit/b618ccc7e310a92e555d6ec38a7f390b37192ef3"><code>b618ccc</code></a> spelling</li>
<li><a href="https://github.com/Textualize/rich/commit/378c34bd43eb4c9779ce1f7ff5dea376b34c91c5"><code>378c34b</code></a> Initial plan</li>
<li><a href="https://github.com/Textualize/rich/commit/87e7ca27d0f8047e2d22c6ee9f7cf2c59e4c96af"><code>87e7ca2</code></a> refinements, and tests</li>
<li>Additional commits viewable in <a href="https://github.com/Textualize/rich/compare/v14.2.0...v14.3.3">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>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
⚠️ Dependabot is rebasing this PR ⚠️
Rebasing might not happen immediately, so don't worry if this takes some time.
Note: if you make any changes to this PR yourself, they will take precedence over the rebase.
Bumps rich from 14.2.0 to 14.3.3.
Release notes
Sourced from rich's releases.
... (truncated)
Changelog
Sourced from rich's changelog.
Commits
ce01188Merge pull request #4008 from Textualize/bump143314a47c9bumpf54bfe0Merge pull request #4007 from Textualize/copilot/sub-pr-40067338cb9Merge pull request #4006 from Textualize/fix-grapheme-stuck905b397Update tests/test_cells.pyb031dcaUpdate tests/test_cells.pyf07a3fcAdd regression tests for VS16 after zero-width chars in split_graphemesb618cccspelling378c34bInitial plan87e7ca2refinements, and testsDependabot 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 commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)