Releases: Textualize/textual
Releases · Textualize/textual
Textual web driver
The hidden Tabs release
[0.34.0] - 2023-08-22
Added
- Methods
TabbedContent.disable_tabandTabbedContent.enable_tab#3112 - Methods
Tabs.disableandTabs.enable#3112 - Messages
Tab.Disabled,Tab.Enabled,Tabs.TabDisabledandTabs.Enabled#3112 - Methods
TabbedContent.hide_tabandTabbedContent.show_tab#3112 - Methods
Tabs.hideandTabs.show#3112 - Messages
Tabs.TabHiddenandTabs.TabShown#3112 - Added
ListView.extendmethod to append multiple items #3012
Changed
- grid-columns and grid-rows now accept an
autotoken to detect the optimal size #3107 - LoadingIndicator now has a minimum height of 1 line.
Fixed
Digits Widget
Some fixes, and a new Digits widget
Screen.Recording.2023-08-15.at.17.12.11.mov
[0.33.0] - 2023-08-15
Fixed
- Fixed unintuitive sizing behaviour of TabbedContent #2411
- Fixed relative units not always expanding auto containers #3059
- Fixed background refresh #3055
- Fixed
SelectionList.clear_options#3075 MouseMoveevents bubble up from widgets.AppandScreenreceiveMouseMoveevents even if there's no Widget under the cursor. #2905
Added
- Added an interface for replacing prompt of an individual option in an
OptionList#2603 - Added
DirectoryTree.reload_nodemethod #2757 - Added widgets.Digit #3073
- Added
BORDER_TITLEandBORDER_SUBTITLEclassvars to Widget #3097
Changed
- DescendantBlur and DescendantFocus can now be used with @on decorator
The Log release
New Log widget, and TextLog has been renamed to RichLog (breaking change)
Screen.Recording.2023-08-02.at.14.40.33.mov
[0.32.0] - 2023-08-03
Added
- Added widgets.Log
- Added Widget.is_vertical_scroll_end, Widget.is_horizontal_scroll_end, Widget.is_vertical_scrollbar_grabbed, Widget.is_horizontal_scrollbar_grabbed
Changed
- Breaking change: Renamed TextLog to RichLog
Worker update and more
Fixes and updates. Also a few breaking changes, see below for details...
[0.31.0] - 2023-08-01
Added
- Added App.begin_capture_print, App.end_capture_print, Widget.begin_capture_print, Widget.end_capture_print #2952
- Added the ability to run async methods as thread workers #2938
- Added
App.stop_animation#2786 - Added
Widget.stop_animation#2786
Changed
- Breaking change: Creating a thread worker now requires that a
thread=Truekeyword argument is passed #2938 - Breaking change:
Markdown.loadno longer captures all errors and returns abool, errors now propagate #2956 - Breaking change: the default style of a
DataTablenow hasmax-height: 100%#2959
Fixed
The Notification Release
https://textual.textualize.io/blog/2023/07/17/textual-0300-adds-desktop-style-notifications/
[0.30.0] - 2023-07-17
Added
- Added
DataTable.remove_columnmethod #2899 - Added notifications #2866
- Added
on_completecallback to scroll methods #2903
Fixed
Refactored dev tools
https://textual.textualize.io/blog/2023/07/03/textual-0290-refactors-dev-tools/
[0.29.0] - 2023-07-03
Changed
- Factored dev tools (
textualcommand) in to external lib (textual-dev).
Added
- Added can-focus pseudo-class to target widgets that may receive focus
- Make
Markdown.updateoptionally awaitable #2838 - Added
defaultparameter toDataTable.add_columnfor populating existing rows #2836 - Added can-focus pseudo-class to target widgets that may receive focus
Fixed
Markdown fixes
Mostly fixes for Markdown issues.
[0.28.1] - 2023-06-20
Fixed
- Fixed indented code blocks not showing up in
Markdown#2781 - Fixed inline code blocks in lists showing out of order in
Markdown#2676 - Fixed list items in a
Markdownbeing added to the focus chain #2380 - Fixed
Tabsposting unnecessary messages when removing non-active tabs #2807 - call_after_refresh will preserve the sender within the callback #2806
Added
- Added a method of allowing third party code to handle unhandled tokens in
Markdown#2803 - Added
MarkdownBlockas an exported symbol intextual.widgets.markdown#2803
Changed
- Tooltips are now inherited, so will work with compound widgets
Who remembers Tab Clear ?
[0.28.0] - 2023-06-19
Added
- The devtools console now confirms when CSS files have been successfully loaded after a previous error #2716
- Class variable
CSSto screens #2137 - Class variable
CSS_PATHto screens #2137 - Added
cursor_foreground_priorityandcursor_background_prioritytoDataTable#2736 - Added Region.center
- Added
centerparameter toWidget.scroll_to_region - Added
origin_visibleparameter toWidget.scroll_to_region - Added
origin_visibleparameter toWidget.scroll_to_center - Added
TabbedContent.tab_count#2751 - Added
TabbedContent.add_pane#2751 - Added
TabbedContent.remove_pane#2751 - Added
TabbedContent.clear_panes#2751 - Added
TabbedContent.Cleared#2751
Fixed
- Fixed setting
TreeNode.labelon an existingTreenode not immediately refreshing #2713 - Correctly implement
__eq__protocol in DataTable #2705 - Fixed exceptions in Pilot tests being silently ignored #2754
- Fixed issue where internal data of
OptionListcould be invalid for short window afterclear_options#2754 - Fixed
Tooltipcausing aquery_oneon a loneStaticto fail #2723 - Nested widgets wouldn't lose focus when parent is disabled #2772
- Fixed the
TabsUnderlinehighlight getting "lost" in some extreme situations #2751
Changed
- Breaking change: The
@ondecorator will now match a message class and any child classes #2746 - Breaking change: Styles update to checkbox, radiobutton, OptionList, Select, SelectionList, Switch #2777
Tabs.add_tabis now optionally awaitable #2778Tabs.add_tabnow takesbeforeandafterarguments to position a new tab #2778Tabs.remove_tabis now optionally awaitable #2778- Breaking change:
Tabs.clearhas been changed from returningselfto being optionally awaitable #2778
The sparkly release
[0.27.0] - 2023-06-01
Fixed
- Fixed zero division error #2673
- Fix
scroll_to_centerwhen there were nested layers out of view (Compositor full_map not populated fully) #2684 - Fix crash when
Selectwidget value attribute was set incompose#2690 - Issue with computing progress in workers #2686
- Issues with
switch_screennot updating the results callback appropriately #2650 - Fixed incorrect mount order #2702
Added
workdecorator acceptsdescriptionparameter to add debug string #2597- Added
SelectionListwidget #2652 App.AUTO_FOCUSto set auto focus on all screens #2594- Option to
scroll_to_centerto ensure we don't scroll such that the top left corner of the widget is not visible #2682 - Added
Widget.tooltipproperty #2670 - Added
Region.inflect#2670 SuggesterAPI to compose with widgets for automatic suggestions #2330SuggestFromListclass to let widgets get completions from a fixed set of options #2604Inputhas a new component classinput--suggestion#2604- Added
Widget.remove_children#2657 - Added
Validatorframework and validation forInput#2600 - Added
message_hookto App.run_test #2702
Changed
Placeholdernow 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_FOCUStoNonewill inheritAUTO_FOCUSfrom the app instead of disabling it #2594 - Setting
Screen.AUTO_FOCUSto""will disable it on the screen #2594 - Messages now have a
handler_nameclass var which contains the name of the default handler method. Message.controlis now a property instead of a class variable. #2528TreeandDirectoryTreeMessages no longer accept atreeparameter, usingself.node.treeinstead. #2529- Keybinding right in
Inputis also used to accept a suggestion if the cursor is at the end of the input #2604 Input.__init__now accepts asuggesterattribute for completion suggestions #2604- Using
switch_screento switch to the currently active screen is now a no-op #2692
Removed
Placeholder.reset_color_cycle- Removed
Widget.reset_focus(now calledWidget.blur) #2642