Skip to content

Releases: Textualize/textual

The Year Zero Release

25 Jul 11:00
262b3af

Choose a tag to compare

Mostly fixes and a small (potentially breaking) change.

[0.74.0] - 2024-07-25

Fixed

  • Fixed issues in Kitty terminal after exiting app #4779
  • Fixed exception when removing Selects #4786
  • Fixed issue with non-clickable Footer keys #4798
  • Fixed issue with recompose not working from Mount handler #4802

Changed

  • Calling Screen.dismiss with no arguments will invoke the screen callback with None (previously the callback wasn't invoke at all). #4795

The Taste the Rainbow Release

18 Jul 15:47
22d0d42

Choose a tag to compare

This is a rather large release. Lots of fixes and enhancements, including optimizations to the DataTable.

There's also a rather nifty addition to the ProgressBar widget. Checkout the gradient:

Screen.Recording.2024-07-18.at.14.17.05.mov

We've also polished the API docs, which should hopefully make them easier to navigate...

https://textual.textualize.io/api/app/

[0.73.0] - 2024-07-18

Added

  • Added TextArea.line_number_start reactive attribute #4471
  • Added TextArea.matching_bracket_location property #4764
  • Added DOMNode.mutate_reactive #4731
  • Added "quality" parameter to textual.color.Gradient #4739
  • Added textual.color.Gradient.get_rich_color #4739
  • Widget.remove_children now accepts an iterable if widgets in addition to a selector #4735
  • Raise ValueError with improved error message when number of cells inserted using DataTable.add_row doesn't match the number of columns in the table #4742
  • Add Tree.move_cursor to programmatically move the cursor without selecting the node #4753
  • Added Footer component style handling of padding for the key/description #4651
  • StringKey is now exported from data_table #4760
  • TreeNode.add and TreeNode.add_leaf now accepts before and after arguments to position a new node #4772
  • Added a gradient parameter to the ProgressBar widget #4774

Fixed

  • Fixed issue with Tabs where disabled tabs could still be activated by clicking the underline #4701
  • Fixed scroll_visible with margin #4719
  • Fixed programmatically disabling button stuck in hover state #4724
  • Fixed DataTable poor performance on startup and focus change when rows contain multi-line content #4748
  • Fixed Tree and DirectoryTree horizontal scrolling off-by-2 #4744
  • Fixed text-opacity in component styles #4747
  • Ensure Tree.select_node sends NodeSelected message #4753
  • Fixed message handlers not working when message types are assigned as the value of class vars #3940
  • Fixed CommandPalette not focusing the input when opened when App.AUTO_FOCUS doesn't match the input #4763
  • SelectionList.SelectionToggled will now be sent for each option when a bulk toggle is performed (e.g. toggle_all). Previously no messages were sent at all. #4759
  • Fixed focus styles not being updated on blur #4771

Changed

  • "Discover" hits in the command palette are no longer sorted alphabetically #4720
  • TreeNodeSelected messages are now posted before TreeNodeExpanded messages
    when an expandable node is selected #4753
  • Markdown.LinkClicked.href is now automatically unquoted #4749
  • The mouse cursor hover effect of Tree and DirectoryTree will no longer linger after the mouse leaves the widget #4766

The Prune Release

09 Jul 12:11
b1b27f6

Choose a tag to compare

A fixes release. The largest of which is a refactor to the logic of removing widgets, which should resolve some instability on shutdown in particular.

[0.72.0] - 2024-07-09

Changed

  • More predictable DOM removals. #4708

Fixed

  • Fixed clicking separator in OptionList moving cursor #4710
  • Fixed scrolling issue in OptionList #4709

The Working on my Break Release

29 Jun 10:02
f2add3c

Choose a tag to compare

Mostly fixes and stability related changes, see below.

Note, there is a change to the SVG snapshots. The SVGs are now "normalized" to reduce the chances that they will break due to non-visual changes. Unfortunately this does mean that your snapshots will break with this release, but the upside is they will break less often in the future!

[0.71.0] - 2024-06-29

Changed

  • Snapshot tests will normalize SVG output so that changes with no visual impact don't break snapshots, but this release will break most of them.
  • Breaking change: App.push_screen now returns an Awaitable rather than a screen. #4672
  • Breaking change: Screen.dismiss now returns an Awaitable rather than a bool. #4672

Fixed

  • Fixed grid + keyline when the grid has auto dimensions #4680
  • Fixed mouse code leakage #4681
  • Fixed link inside markdown table not posting a Markdown.LinkClicked message #4683
  • Fixed issue with mouse movements on non-active screen #4688

The Buttoned Down Release

19 Jun 11:57
4d0293f

Choose a tag to compare

[0.70.0] - 2024-06-19

Fixed

  • Fixed erroneous mouse 'ButtonDown' reporting for mouse movement when any-event mode is enabled in xterm. #3647

The "I'm not going there" Release

16 Jun 18:06
4009167

Choose a tag to compare

A fix with API tweak

[0.69.0] - 2024-06-16

Added

  • Added App.simulate_key #4657

Fixed

  • Fixed issue with pop_screen launched from an action #4657

Changed

  • App.check_bindings is now private
  • App.action_check_bindings is now App.action_simulate_key

The Concurrency is hard Release

14 Jun 10:14

Choose a tag to compare

[0.68.0] - 2024-06-14

Added

  • Added ContentSwitcher.add_content

Fixed

  • Improved handling of non-tty input #4647

The Less Users Release

11 Jun 14:53
a15f7b6

Choose a tag to compare

We've had to revert the VIM keys in the DataTable for now.

[0.67.1] - 2024-06-12

Changed

  • Reverts Vim keys in DataTable, provides alternatives #4638

The Trees and Keys Release

11 Jun 13:56
92583b5

Choose a tag to compare

The highlight of this release is support for extended keys. More modern terminals will now have access to a greater number of keys, and modifiers.

There are also a number of quality of life improvements for the DataTable, Tree. And some fixes.

[0.67.0] - 2024-06-11

Added

  • Added support for Kitty's key protocol #4631
  • ctrl+pageup/ctrl+pagedown will scroll page left/right in DataTable #4633
  • g/G will scroll to the top/bottom of the DataTable #4633
  • Added simple hjkl key bindings to move the cursor in DataTable #4633

Changed

  • home and end now works horizontally instead of vertically in DataTable #4633
  • Tree and DirectoryTree nodes now have a bigger click target, spanning the full line #4636

Fixed

  • Fixed pageup/pagedown behavior in DataTable #4633
  • Added App.CLOSE_TIMEOUT #4635
  • Fixed deadlock on shutdown #4635

The Two Thirds of the Number of the Beast Release

08 Jun 13:34
91c7fc7

Choose a tag to compare

A few additions and changes

[0.66.0] - 2024-06-08

Changed

  • get_content_height will now return 0 if the renderable is Falsey #4617
  • Buttons may not be pressed within their "active_effect_duration" to prevent inadvertent activations #4621
  • Screen.dismiss is now a noop if the screen isn't active. Previously it would raise a ScreenStackError, now it returns False. #4621
  • Increased window for escape processing to 100ms #4625
  • Tooltips are now hidden when any key is pressed #4625

Added

  • Added Screen.is_active
  • Added icon reactive to Header widget #4627
  • Added time_format reactive to Header widget #4627
  • Added tooltip parameter to input widgets #4625