Skip to content

Releases: Textualize/textual

The "truly your forgiveness I implore" release.

02 Feb 16:43
6459878
Compare
Choose a tag to compare

Hotfix for two issues.

[0.48.2] - 2024-02-02

Fixed

  • Fixed a hang in the Linux driver when connected to a pipe #4104
  • Fixed broken OptionList Option.id mappings #4101

Changed

  • Breaking change: keyboard navigation in RadioSet, ListView, OptionList, and SelectionList, no longer allows highlighting disabled items #3881

The nevermore bug release

01 Feb 11:34
ecb8257
Compare
Choose a tag to compare

A small oversight with the TextArea theme

[0.48.1] - 2023-02-01

Fixed

  • TextArea uses CSS theme by default instead of monokai #4091

The "As of some one gently wrapping, wrapping at my chamber door" release.

01 Feb 10:24
7f1d0f8
Compare
Choose a tag to compare

The highlight of this release is the addition of soft wrapping to the TextArea, which you can see below:

soft-wrapping-demo.mp4

This makes TextArea one of our most powerful widgets. Looking forward to seeing what you build with it!

Note there is a breaking change here. The TextArea now defaults to a multi-line soft-wrapped editor rather than a more code oriented editor. If you want the original behaviour, use the code_editor classmethod. i.e. replace TextArea with TextArea.code_editor.

Also in this release is a new suspend decorator which will temporarily suspend the currently running app and allow you to launch another terminal app (which doesn't even need to be a Textual app).

There are plenty of other fixes and enhancements. See below for the full details...

[0.48.0] - 2023-02-01

Changed

  • Breaking change: Significant changes to TextArea.__init__ default values/behaviour #3933
    • soft_wrap=True - soft wrapping is now enabled by default.
    • show_line_numbers=False - line numbers are now disabled by default.
    • tab_behaviour="focus" - pressing the tab key now switches focus instead of indenting by default.
  • Breaking change: TextArea default theme changed to CSS, and default styling changed #4074
  • Breaking change: DOMNode.has_pseudo_class now accepts a single name only #3970
  • Made textual.cache (formerly textual._cache) public #3976
  • Tab.label can now be used to change the label of a tab #3979
  • Changed the default notification timeout from 3 to 5 seconds #4059
  • Prior scroll animations are now cancelled on new scrolls #4081

Added

  • Added DOMNode.has_pseudo_classes #3970
  • Added Widget.allow_focus and Widget.allow_focus_children #3989
  • Added TextArea.soft_wrap reactive attribute added #3933
  • Added TextArea.tab_behaviour reactive attribute added #3933
  • Added TextArea.code_editor classmethod/alternative constructor #3933
  • Added TextArea.wrapped_document attribute which can convert between wrapped visual coordinates and locations #3933
  • Added show_line_numbers to TextArea.__init__ #3933
  • Added component classes allowing TextArea to be styled using CSS #4074
  • Added Query.blur and Query.focus #4012
  • Added MessagePump.message_queue_size #4012
  • Added TabbedContent.active_pane #4012
  • Added App.suspend #4064
  • Added App.action_suspend_process #4064

Fixed

  • Parameter animate from DataTable.move_cursor was being ignored #3840
  • Fixed a crash if DirectoryTree.show_root was set before the DOM was fully available #2363
  • Live reloading of TCSS wouldn't apply CSS changes to screens under the top screen of the stack #3931
  • SelectionList option IDs are usable as soon as the widget is instantiated #3903
  • Fix issue with Strip.crop when crop window start aligned with strip end #3998
  • Fixed Strip.crop_extend #4011
  • Fix for percentage dimensions #4037
  • Fixed a crash if the TextArea language was set but tree-sitter language binaries were not installed #4045
  • Ensuring TextArea.SelectionChanged message only sends when the updated selection is different #3933
  • Fixed declaration after nested rule set causing a parse error #4012
  • ID and class validation was too lenient #3954
  • Fixed CSS watcher crash if file becomes unreadable (even temporarily) #4079
  • Fixed display of keys when used in conjunction with other keys #3050
  • Fixed double detection of Escape on Windows #4038

The nested specificity fixed release

05 Jan 11:38
aced854
Compare
Choose a tag to compare

A hotfix for a bug in nested CSS.

[0.47.1] - 2023-01-05

Fixed

  • Fixed nested specificity #3963

The Nested Release

04 Jan 15:21
b7f998a
Compare
Choose a tag to compare

Two highlights of this release, Textual CSS now supports nesting, and there is a new method for waiting on the result of screens.

Screenshot 2024-01-04 at 11 54 40 Screenshot 2024-01-03 at 14 10 56

There are also a few fixes. See below for the details...

[0.47.0] - 2024-01-04

Fixed

  • Widget.move_child would break if before/after is set to the index of the widget in child #1743
  • Fixed auto width text not processing markup #3918
  • Fixed Tree.clear not retaining the root's expanded state #3557

Changed

  • Breaking change: Widget.move_child parameters before and after are now keyword-only #3896
  • Style tweak to toasts #3955

Added

  • Added textual.lazy #3936
  • Added App.push_screen_wait #3955
  • Added nesting of CSS #3946

The last release of `23 release

17 Dec 20:20
1c8dc5d
Compare
Choose a tag to compare

It's been a busy year at Textualize towers. This is probably the last release of the year (barring hotfixes). See you in `24.

A few fixes and smaller changes. Also a nice little speed increase for CSS processing.

[0.46.0] - 2023-12-17

Fixed

  • Disabled radio buttons could be selected with the keyboard #3839
  • Fixed zero width scrollbars causing content to disappear #3886

Changed

  • The tabs within a TabbedContent now prefix their IDs to stop any clash with their associated TabPane #3815
  • Breaking change: tab is no longer a @on decorator selector for TabbedContent.TabActivated -- use pane instead #3815

Added

  • Added Collapsible.title reactive attribute #3830
  • Added a pane attribute to TabbedContent.TabActivated #3815
  • Added caching of rules attributes and cache parameter to Stylesheet.apply #3880

The styles should update on mount now release

12 Dec 21:22
4bfb82a
Compare
Choose a tag to compare

A hotfix for #3858

[0.45.1] - 2023-12-12

Fixed

  • Fixed issues were styles wouldn't update if changed in mount. #3860

The speedy release

12 Dec 14:45
21ba7db
Compare
Choose a tag to compare

A relative minor release, feature wise, but this version much faster CSS processing. You may notice this if you have UIs with 100s of widgets.

Also see a new HowTo: https://textual.textualize.io/how-to/render-and-compose/

[0.45.0] - 2023-12-12

Fixed

  • Fixed DataTable.update_cell not raising an error with an invalid column key #3335
  • Fixed Input showing suggestions when not focused #3808
  • Fixed loading indicator not covering scrollbars #3816

Removed

  • Removed renderables/align.py which was no longer used.

Changed

  • Dropped ALLOW_CHILDREN flag introduced in 0.43.0 #3814
  • Widgets with an auto height in an auto height container will now expand if they have no siblings #3814
  • Breaking change: Removed limit_rules from Stylesheet.apply #3844

Added

  • Added get_loading_widget to Widget and App customize the loading widget. #3816
  • Added messages Collapsible.Expanded and Collapsible.Collapsed that inherit from Collapsible.Toggled. #3824

The Buttery Release

04 Dec 14:00
ad3934b
Compare
Choose a tag to compare

A patch to improve scrolling speed when there are many widgets in the screen.

Scrolling show now be buttery smooth for the screen and other scrolling containers (like the ListView).

[0.44.1] - 2023-12-4

Fixed

  • Fixed slow scrolling when there are many widgets #3801

The so long 3.7 release

01 Dec 11:54
e537125
Compare
Choose a tag to compare

This release drops support for Python3.7

Additionally, there are a few fixes and some changes. See below for details

[0.44.0] - 2023-12-1

Changed

  • Breaking change: Dropped 3.7 support #3766
  • Breaking changes #1530
  • link-hover-background renamed to link-background-hover
  • link-hover-color renamed to link-color-hover
  • link-hover-style renamed to link-style-hover
  • Brought rxvt's use of shift-numpad keys in line with most other terminals #3769

Added

  • Added support for Ctrl+Fn and Ctrl+Shift+Fn keys in urxvt #3737
  • Friendly error messages when trying to mount non-widgets #3780

Fixed

  • Fixed NoWidget when mouse goes outside window #3790
  • Removed spurious print statements from press_keys #3785