Releases: Textualize/textual
The Hotly Completed Release
The Paused Released
This release should smooth scrolling large documents, particularly for Python < 3.14
[8.1.0] - 2026-03-10
Changed
- Replace circuar references in DOM with weak references to improve GC times #6410
- When animating an attribute a second time, the original
on_completeis now called #6410
Added
- Added experimental
App.PAUSE_GC_ON_SCROLL_boolean (disabled by default) #6410
The Direct Tree Release
The Juicy Release
Small update
[8.0.1] - 2026-03-01
Fixed
DirectoryTreeruns more operations in a thread to avoid micro-freezes
Changes
- Some tweaks to garbage collection to reduce gc time #6402
The BLANK to NULL release
The major version change is due to changing Select.BLANK to Select.NULL, to avoid an unfortunate name clash.
See below for the full changes...
[8.0.0] - 2026-02-16
Added
- Added
modeargument topush_screenandpush_screen_waitto enable pushing a screen to a non-active mode #6362 - Added
App.mode_change_signalandApp.screen_change_signal#6362 - Added
Tabs.get_tab#6362 - Added Catppuccin Frappe and Macchiato themes #6335
Changed
- It is no longer a NOOP and warning to dismiss a non-active screen. The dismiss will still work, but the screen may not update if the current mode is not active. #6362
- Added 50ms delay when switching screens to allow state to udpate and prevent janky flash of old content #6362
- Breaking change: Changed
Select.BLANKtoSelect.NULLto avoid clash with newerWidget.BLANKClassvar #6374
The extended cursor release
The DataTable row cursor will now extend the full width of the datatable, which looks better.
The DataTable will now only emit a *Selected message if clicking a second time.
[7.5.0] - 2026-01-30
The Pointed Release
Adds a pointer rule to TCSS, so you can change how the mouse pointer looks over a given widget.
Screen.Recording.2026-01-25.at.17.33.18.mov
See https://textual.textualize.io/styles/pointer/ for details
[7.4.0] - 2026-01-25
Added
- Added
pointerrule #6339
The Super release
A few fixes and small features. Enjoy.
[7.3.0] - 2026-01-15
Fixed
- Fixed triple click on command palette raising an exception #6329
Added
- Added
DOM.query_one_optional - Added
defaultparameter toget_component_rich_styleget_component_rich_style
Changed
- Added super+c (command on mac) alternative bindings for copy, for terminals that support it (Ghostty does)
- Allow
Sparklineto be of any height, not just 1 #6171
The Helping Release
Small update to the help system. The help panel will look for a HELP attribute on the focused widget, but now it will also look at ancestors until it finds a usable HELP attribute. There are also a few changes to add more titles to the keys area.
[7.2.0] - 2026-01-11
Changed
- The help panel will look at ancestor widgets for a
HELPattribute if there isn't one on the focused widget #6320