https://textual.textualize.io/blog/2023/06/01/textual-adds-sparklines-selection-list-input-validation-and-tool-tips/
[0.27.0] - 2023-06-01
Fixed
- Fixed zero division error #2673
- Fix
scroll_to_center when there were nested layers out of view (Compositor full_map not populated fully) #2684
- Fix crash when
Select widget value attribute was set in compose #2690
- Issue with computing progress in workers #2686
- Issues with
switch_screen not updating the results callback appropriately #2650
- Fixed incorrect mount order #2702
Added
work decorator accepts description parameter to add debug string #2597
- Added
SelectionList widget #2652
App.AUTO_FOCUS to set auto focus on all screens #2594
- Option to
scroll_to_center to ensure we don't scroll such that the top left corner of the widget is not visible #2682
- Added
Widget.tooltip property #2670
- Added
Region.inflect #2670
Suggester API to compose with widgets for automatic suggestions #2330
SuggestFromList class to let widgets get completions from a fixed set of options #2604
Input has a new component class input--suggestion #2604
- Added
Widget.remove_children #2657
- Added
Validator framework and validation for Input #2600
- Added
message_hook to App.run_test #2702
Changed
Placeholder now sets its color cycle per app #2590
- Footer now clears key highlight regardless of whether it's in the active screen or not #2606
- The default Widget repr no longer displays classes and pseudo-classes (to reduce noise in logs). Add them to your
__rich_repr__ method if needed. #2623
- Setting
Screen.AUTO_FOCUS to None will inherit AUTO_FOCUS from the app instead of disabling it #2594
- Setting
Screen.AUTO_FOCUS to "" will disable it on the screen #2594
- Messages now have a
handler_name class var which contains the name of the default handler method.
Message.control is now a property instead of a class variable. #2528
Tree and DirectoryTree Messages no longer accept a tree parameter, using self.node.tree instead. #2529
- Keybinding right in
Input is also used to accept a suggestion if the cursor is at the end of the input #2604
Input.__init__ now accepts a suggester attribute for completion suggestions #2604
- Using
switch_screen to switch to the currently active screen is now a no-op #2692
Removed
Placeholder.reset_color_cycle
- Removed
Widget.reset_focus (now called Widget.blur) #2642