Releases: Textualize/rich
The Nerdy Fix release
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 #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
Consoleinstance is passed topretty.install#3915 - Fixed extraneous blank line on non-interactive disabled
Progress#3905 - Fixed extra padding on first cell in columns #3935
- Fixed trailing whitespace removed when soft_wrap=True #3937
- Fixed style new-lines when soft_wrap = True and a print style is set #3938
Added
- Added support for some multi-codepopint glyphs (will fix alignment issues for these characters) #3930
- Added support for
UNICODE_VERSIONenvironment variable #3930 - Added
last_render_heightproperty to LiveRender #3934 - Expose locals_max_depth and locals_overflow in traceback.install #3906
- Added
Segment.split_lines_terminator#3938
Changed
cells.cell_lennow has aunicode_versionparameter (that you probably should never change) #3930- Live will not write a new line if there was nothing rendered #3934
- Changed style of Markdown headers #3942
- Changed style of Markdown tables, added
markdown.table.headerandmarkdown.table.borderstyles #3942 - Changed style of Markdown rules #3942
The Easy as Pi release
This release bumps Python compatibility to the just-released Python 3.14.
[14.2.0] - 2025-10-09
Changed
- Python3.14 compatibility #3861
The Lively Release
Live objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.
[14.1.0] - 2025-06-25
Changed
- Removed
typing_extensionsfrom runtime dependencies #3763 - Live objects (including Progress) may now be nested #3768
- Added padding property to Syntax which returns a tuple of four integers #3782
Fixed
- Fixed extraction of recursive exceptions #3772
- Fixed padding applied to Syntax #3782
- Fixed
Paneltitle missing the panel background style #3569
Added
- Added
TTY_INTERACTIVEenvironment variable to force interactive mode off or on #3777
The ENVy of all other releases
Mostly updates to Traceback rendering, to add support for features introduced in Python3.11
We also have a new env var that I am proposing to become a standard. TTY_COMPATIBLE=1 tells Rich to write ansi-escape sequences even if it detects it is not writing to a terminal. This is intended for use with GitHub Actions / CI, which can interpret escape sequences, but aren't a terminal.
There is also a change to how NO_COLOR and FORCE_COLOR are interpreted, which is the reason for the major version bump.
[14.0.0] - 2025-03-30
Added
- Added env var
TTY_COMPATIBLEto override auto-detection of TTY support (See console.rst for details). #3675
Changed
- An empty
NO_COLORenv var is now considered disabled. #3675 - An empty
FORCE_COLORenv var is now considered disabled. #3675 - Rich tracebacks will now render notes on Python 3.11 onwards (added with
Exception.add_note) #3676 - Indentation in exceptions won't be underlined #3678
- Rich tracebacks will now render Exception Groups #3677
The Faster is Faster release
[13.9.4] - 2024-11-01
Changed
- Optimizations to cell_len which may speed up Rich / Textual output #3546
The irregular expression release
Fix a broken regex that resulted in the slow path being chosen for some operations. This fix should result in notable speedups for some operations, such as wrapping text.
[13.9.3] - 2024-10-22
Fixed
- Fixed broken regex that may have resulted in poor performance. #3535
The Splitting segments Release
A hotfix for highlighting in the table, and a fix for Segment.split_cells
[13.9.2] - 2024-10-04
Fixed
- Fixed
Tablecolumns not highlighting when added byadd_row#3517 - Fixed an issue with Segment.split_cells reported in Textual Textualize/textual#5090
Hotfix for dependency issue
[13.9.1] - 2024-10-01
Fixed
- Fixed typing_extensions dependency
The so long Python 3.7 release
This version adds support for fine-grained information in tracebacks. In other words, it will highlight columns in tracebacks (for supported Python versions). Here's an example:

This version also drops support for Python 3.7, which has long since reached its EOL. If you are stuck on Python3.7 for any reason, you will not be able to upgrade to this version, but nothing should break.
See below for other changes in this release.
[13.9.0] - 2024-10-01
Changed
- Dropped support for Python3.7 #3509
- Rich will display tracebacks with finely grained error locations on python 3.11+ #3486