v6.2.0

Textualize/textualv6.2.0Sep 30, 2025by willmcgugan

AI Summary

A mixed bag of features and fixes, including enabling eager tasks on Python 3.12+, making layout methods public, and improving hover pseudo-class behavior.

Key Highlights

  • Eager tasks enabled on Python 3.12 and above.
  • Layout optimizations via public `Widget.arrange` method.
  • Improved hover pseudo-class application and footer visibility.
  • New `Content.wrap` and `Screen.get_hover_widgets_at` methods.

New Features

  • `DOMNode.displayed_and_visible_children`
  • `Widget.process_layout`
  • `App.viewport_size`
  • `Screen.size`
  • `compact` to Binding.Group
  • `Screen.get_hover_widgets_at`
  • `Content.wrap`
  • Manual keys support in `add_columns`

Full Release Notes

A mixed back of features and fixes.

See the changelog for details!

## [6.2.0] - 2025-09-30

### Changed

- Eager tasks are now enabled On Python3.12 and above https://github.com/Textualize/textual/pull/6102
- `Widget._arrange` is now public (as `Widget.arrange`) https://github.com/Textualize/textual/pull/6108
- Reduced number of layout operations required to update the screen https://github.com/Textualize/textual/pull/6108
- The :hover pseudo-class no applies to the first widget under the mouse with a hover style set https://github.com/Textualize/textual/pull/6132
- The footer key hover background is more visible https://github.com/Textualize/textual/pull/6132
- Made `App.delay_update` public https://github.com/Textualize/textual/pull/6137
- Pilot.click will return True if the initial mouse down is on the specified target https://github.com/Textualize/textual/pull/6139

### Added

- Added `DOMNode.displayed_and_visible_children` https://github.com/Textualize/textual/pull/6102
- Added `Widget.process_layout` https://github.com/Textualize/textual/pull/6105
- Added `App.viewport_size` https://github.com/Textualize/textual/pull/6105
- Added `Screen.size` https://github.com/Textualize/textual/pull/6105
- Added `compact` to Binding.Group https://github.com/Textualize/textual/pull/6132
- Added `Screen.get_hover_widgets_at` https://github.com/Textualize/textual/pull/6132
- Added `Content.wrap` https://github.com/Textualize/textual/pull/6138
- Added support to allow support for manual keys in add_columns as well. https://github.com/Textualize/textual/pull/5923

### Fixed

- Fixed issue where Segments with a style of `None` aren't rendered https://github.com/Textualize/textual/pull/6109
- Fixed visual glitches and crash when changing `DataTable.header_height` https://github.com/Textualize/textual/pull/6128
- Fixed TextArea.placeholder not handling multi-lines https://github.com/Textualize/textual/pull/6138
- Fixed issue with RichLog when App.theme is set early https://github.com/Textualize/textual/pull/6141
- Fixed children of collapsible not being focusable after collapsible is expanded https://github.com/Textualize/textual/pull/6143