This is a fairly large update, with some new features and optimizations.
There are a few breaking changes, which are unlikely to impact many apps. Unless you have build custom line-API widgets. See below for the details.
You may have to regenerate your snapshot tests, mostly as a result of the optimizations. I wouldn't expect the changes result in any material changes.
Thanks to all contributors!
[6.0.0] - 2025-08-31
Fixed
- Fix type hint for SelectType: only hashable types are allowed. #6034
- Fixed
Content.expand_tabs
#6038 - Fixed return value for
Pilot.double_click
andPilot.triple_click
#6035 - Fixed sizing issue with
Pretty
widget #6040 #6041 - Fixed garbled inline app output when
inline_no_clear=True
#6080
Added
- Added
bar_renderable
toProgressBar
widget #5963 - Added
OptionList.set_options
#6048 - Added
TextArea.suggestion
#6048 - Added
TextArea.placeholder
#6048 - Added
Header.format_title
andApp.format_title
for easier customization of title in the Header #6051 - Added
Widget.get_line_filters
andApp.get_line_filters
#6057 - Added
Binding.Group
#6070 - Added
DOMNode.displayed_children
#6070 - Added
TextArea.hide_suggestion_on_blur
boolean #6070 - Added
OptionList.highlighted_option
property #6090 - Added
TextArea.update_suggestion
method #6090 - Added
textual.getters.app
#6089
Changed
- Breaking change: The
renderable
property on theStatic
widget has been changed tocontent
. #6041 - Breaking change:
HeaderTitle
widget is now a static, with notext
andsub_text
reactives #6051 - Breaking change: Renamed
Label
constructor argumentrenderable
tocontent
for consistency #6045 - Breaking change: Optimization to line API to avoid applying background styles to widget content. In practice this means that you can no longer rely on blank Segments automatically getting the background color.