Releases: Textualize/textual
The "truly your forgiveness I implore" release.
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
, andSelectionList
, no longer allows highlighting disabled items #3881
The nevermore bug release
A small oversight with the TextArea theme
[0.48.1] - 2023-02-01
Fixed
TextArea
uses CSS theme by default instead ofmonokai
#4091
The "As of some one gently wrapping, wrapping at my chamber door" release.
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 #3933soft_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
(formerlytextual._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
andWidget.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
toTextArea.__init__
#3933 - Added component classes allowing
TextArea
to be styled using CSS #4074 - Added
Query.blur
andQuery.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
fromDataTable.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
The Nested Release
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](https://private-user-images.githubusercontent.com/554369/294222993-7cdb346c-71e3-45db-af96-4b9a15241c2a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQwMTg2NDIsIm5iZiI6MTcyNDAxODM0MiwicGF0aCI6Ii81NTQzNjkvMjk0MjIyOTkzLTdjZGIzNDZjLTcxZTMtNDVkYi1hZjk2LTRiOWExNTI0MWMyYS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxOFQyMTU5MDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00NDg4MWIwY2M2Mjg3MmU1ODA5MTQyZjcwZjlmZGViM2ViOTE0MTUyNWQ5OGNiNmIzZmY0N2EyODA3ODcyMmRiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.HpOX75p7Kg0rD9uLocFdVeIINYmbJr3kqLhQwPUjgHk)
![Screenshot 2024-01-03 at 14 10 56](https://private-user-images.githubusercontent.com/554369/294223067-2916cdcb-fee0-4ee3-8f05-8efd24970969.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQwMTg2NDIsIm5iZiI6MTcyNDAxODM0MiwicGF0aCI6Ii81NTQzNjkvMjk0MjIzMDY3LTI5MTZjZGNiLWZlZTAtNGVlMy04ZjA1LThlZmQyNDk3MDk2OS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxOFQyMTU5MDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jYjBkNjcwMzY4MWYxOTg1ZTRhNjI0ZTExZTZiMjM5NGNhZTJkNzE0MGQ5NmExNTM5ZDRhM2I1ZjRjNmI4ZmJhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.t35HRI8qw9LYaMH0pyevS_--JHkIMOnIIjZX9z51U5M)
There are also a few fixes. See below for the details...
[0.47.0] - 2024-01-04
Fixed
Widget.move_child
would break ifbefore
/after
is set to the index of the widget inchild
#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
parametersbefore
andafter
are now keyword-only #3896 - Style tweak to toasts #3955
Added
The last release of `23 release
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 associatedTabPane
#3815 - Breaking change:
tab
is no longer a@on
decorator selector forTabbedContent.TabActivated
-- usepane
instead #3815
Added
The styles should update on mount now release
The speedy release
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
The Buttery Release
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
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 tolink-background-hover
link-hover-color
renamed tolink-color-hover
link-hover-style
renamed tolink-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