Skip to content

Releases: Textualize/textual

Fix for stuck tabs

18 Apr 15:48
4981eff

Choose a tag to compare

A fix for an issue where the underline on tabs widgets may occasionally get stuck.

[0.20.1] - 2023-04-18

Fix

  • New fix for stuck tabs underline #2229

The remove row release

18 Apr 12:44
cc41a7f

Choose a tag to compare

[0.20.0] - 2023-04-18

Changed

  • Changed signature of Driver. Technically a breaking change, but unlikely to affect anyone.
  • Breaking change: Timer.start is now private, and returns None. There was no reason to call this manually, so unlikely to affect anyone.
  • A clicked tab will now be scrolled to the center of its tab container #2276
  • Style updates are now done immediately rather than on_idle #2304
  • ButtonVariant is now exported from textual.widgets.button #2264
  • HorizontalScroll and VerticalScroll are now focusable by default #2317

Added

  • Added DataTable.remove_row method #2253
  • option --port to the command textual console to specify which port the console should connect to #2258
  • Widget.scroll_to_center method to scroll children to the center of container widget #2255 and #2276
  • Added TabActivated message to TabbedContent #2260
  • Added "panel" border style #2292
  • Added border-title-color, border-title-background, border-title-style rules #2289
  • Added border-subtitle-color, border-subtitle-background, border-subtitle-style rules #2289

Fixed

  • Fixed order styles are applied in DataTable - allows combining of renderable styles and component classes #2272
  • Fix empty ListView preventing bindings from firing #2281
  • Fix get_component_styles returning incorrect values on first call when combined with pseudoclasses #2304
  • Fixed active_message_pump.get sometimes resulting in a LookupError #2301
  • Fixed issue arising when active tab was changed too quickly in succession #2305

Fix for broken vw and vh units

10 Apr 15:52
4f7b2d0

Choose a tag to compare

A bugfix release, see below...

[0.19.1] - 2023-04-10

Fixed

  • Fix viewport units using wrong viewport size #2247
  • Fixed layout not clearing arrangement cache #2249

DataTable cursor and Directory filtering

07 Apr 08:56
e9ec627

Choose a tag to compare

Mostly a bugfix release. But we also have filtering on the DirectoryTree, and the DataTable page up / down now moves the cursor as well as the view.

[0.19.0] - 2023-04-07

Added

  • Added support for filtering a DirectoryTree #2215

Changed

  • Allowed border_title and border_subtitle to accept Text objects
  • Added additional line around titles
  • When a container is auto, relative dimensions in children stretch the container. #2221
  • DataTable page up / down now move cursor

Fixed

  • Fixed margin not being respected when width or height is "auto" #2220
  • Fixed issue which prevent scroll_visible from working #2181
  • Fixed missing tracebacks on Windows #2027

New Worker API

04 Apr 12:19
b5689b1

Choose a tag to compare

https://textual.textualize.io/blog/2023/04/04/textual-0180-adds-api-for-managing-concurrent-workers/

[0.18.0] - 2023-04-04

Added

Changed

  • Breaking change: Markdown.update is no longer a coroutine #2182

[Fixed]

  • RadioSet is now far less likely to report pressed_button as None #2203

Bugfix for scrolling under dock

02 Apr 08:58
eab073e

Choose a tag to compare

[0.17.3] - 2023-04-02

[Fixed]

  • Fixed scrollable area not taking in to account dock #2188

Modal fixes

02 Apr 07:56

Choose a tag to compare

A few fixes related to the thew modal screens, and ordered Markdown lists.

[0.17.2] - 2023-04-02

[Fixed]

  • Fixed bindings persistance #1613
  • The Markdown widget now auto-increments ordered lists #2002
  • Fixed modal bindings #2194
  • Fix binding enter to active button #2194

[Changed]

  • tab and shift+tab are now defined on Screen.

Fixes WIndows cursor and ctrl+click freeze

30 Mar 10:05
87f96ef

Choose a tag to compare

A bugfix release. See below for details.

[0.17.1] - 2023-03-30

Fixed

  • Fix cursor not hiding on Windows #2170
  • Fixed freeze when ctrl-clicking links #2167 #2073

You can see right through us!

29 Mar 15:43
2cd8295

Choose a tag to compare

https://textual.textualize.io/blog/2023/03/29/textual-0170-adds-translucent-screens-and-option-list/

[0.17.0] - 2023-03-29

Fixed

  • Issue with parsing action strings whose arguments contained quoted closing parenthesis #2112
  • Issues with parsing action strings with tuple arguments #2112
  • Issue with watching for CSS file changes #2128
  • Fix for tabs not invalidating #2125
  • Fixed scrollbar layers issue #1358
  • Fix for interaction between pseudo-classes and widget-level render caches #2155

Changed

  • DataTable now has height: auto by default. #2117
  • Textual will now render strings within renderables (such as tables) as Console Markup by default. You can wrap your text with rich.Text() if you want the original behavior. #2120
  • Some widget methods now return self instead of None #2102:
    • Widget: refresh, focus, reset_focus
    • Button.press
    • DataTable: clear, refresh_coordinate, refresh_row, refresh_column, sort
    • Placehoder.cycle_variant
    • Switch.toggle
    • Tabs.clear
    • TextLog: write, clear
    • TreeNode: expand, expand_all, collapse, collapse_all, toggle, toggle_all
    • Tree: clear, reset
  • Screens with alpha in their background color will now blend with the background. #2139
  • Added "thick" border style. #2139
  • message_pump.app will now set the active app if it is not already set.
  • DataTable now has max height set to 100vh

Added

  • Added auto_scroll attribute to TextLog #2127
  • Added scroll_end switch to TextLog.write #2127
  • Added Widget.get_pseudo_class_state #2155
  • Added Screen.ModalScreen which prevents App from handling bindings. #2139
  • Added TEXTUAL_LOG env var which should be a path that Textual will write verbose logs to (textual devtools is generally preferred) #2148
  • Added textual.logging.TextualHandler logging handler
  • Added Query.set_classes, DOMNode.set_classes, and classes setter for Widget #1081
  • Added OptionList #2154

Tabbed content and border titles

22 Mar 13:42
9529cac

Choose a tag to compare

See blog post...

https://textual.textualize.io/blog/2023/03/22/textual-0160-adds-tabbedcontent-and-border-titles/

[0.16.0] - 2023-03-22

Added

  • Added parser_factory argument to Markdown and MarkdownViewer constructors #2075
  • Added HorizontalScroll #1957
  • Added Center #1957
  • Added Middle #1957
  • Added VerticalScroll (mimicking the old behaviour of Vertical) #1957
  • Added Widget.border_title and Widget.border_subtitle to set border (sub)title for a widget #1864
  • Added CSS styles border_title_align and border_subtitle_align.
  • Added TabbedContent widget #2059
  • Added get_child_by_type method to widgets / app #2059
  • Added Widget.render_str method #2059
  • Added TEXTUAL_DRIVER environment variable

Changed

  • Dropped "loading-indicator--dot" component style from LoadingIndicator #2050
  • Tabs widget now sends Tabs.Cleared when there is no active tab.
  • Breaking change: changed default behaviour of Vertical (see VerticalScroll) #1957
  • The default overflow style for Horizontal was changed to hidden hidden #1957
  • DirectoryTree also accepts pathlib.Path objects as the path to list #1438

Removed

  • Removed sender attribute from messages. It's now just private (_sender). #2071

Fixed

  • Fixed borders not rendering correctly. #2074
  • Fix for error when removing nodes. #2079