* Wed Nov 04 2026 Jiri Slaby <jslaby@suse.com>
- Drop "python_module tree-sitter" BuildRequires from tests, it is
not needed there. The tests actually need tree-sitter which is
also present. The set of tests run with and without the
BuildRequire is the same. This eases the SLFO submission.
* Wed Sep 09 2026 Jiri Slaby <jslaby@suse.cz>
- Lower the requirements for Pygments -- I want to submit b4 to
SLFO and it depends on (non-present) textual.
* Sun Jul 05 2026 Dirk Müller <dmueller@suse.com>
- update to 8.2.8:
* Fixes for extended key processing, and a crash bug for
clicking the screen padding area.
* Fixed parsing Kitty extended keys with multiple codepoints
https://github.com/Textualize/textual/pull/6592
* Fixed crash when clicking in the Screen's padding
https://github.com/Textualize/textual/pull/6598
* super+backspace is now an alias for ctrl+u in Input and
TextArea https://github.com/Textualize/textual/pull/6594
* alt+backspace (option+backspace on Mac) has the same effect
as ctrl+backspace in Input and TextArea
* Tue May 19 2026 Dirk Müller <dmueller@suse.com>
- update to 8.2.7:
* Additionally there are a few more shortcuts to the Text Area.
* This release sponsored by Mistral AI. See release notes for
detail.
* Added support for Kitty key protocol "Report all keys as
escape codes" which enabled alt+backspace on Warp
* Added support for detecting separate modifier keys for
terminals that support the Kitty key protocol
* Added `TEXTUAL_DISABLE_KITTY_KEY` env var to disable Kitty
key protocol support (debug aid).
* Undo/redo/copy/cut/paste in TextArea will now work with cmd+
on supported terminals
* In TextArea, ctrl+u will now delete a newline if the cursor
is at the start
* in TextArea alt+delete is now bound to delete word right
* Text opacity applied to an ansi theme will now set the dim
attribute if the opacity is < 50%
- update to 8.2.6:
* Improved text select logic. You can select text without first
clicking on a content area.
* Fixed selection to the right of code fence blocks (may break
some snapshots)
* Fixed Markdown code fences losing content when switching
themes https://github.com/Textualize/textual/pull/6537
* Added ability to select outside of text, so the user doesn't
need to be quite so precise
- update to 8.2.5:
* Two new themes: "ansi-dark" and "ansi-light"
* Added an `ansi` value to themes
* `App.ansi_color` may now be `None` to use the `ansi` value
from the theme.
* Sat Apr 25 2026 Dirk Müller <dmueller@suse.com>
- update to 8.2.4:
* Small potatoes update, to fix a glitch with anchor.
* Added `DOM.update_classes`
* Fixed anchor released when scrolling down with the trackpad
* Thu Apr 16 2026 John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 8.2.2
* Reduce lag when resizing window, by moving resize from
idle to a timer
* Sun Mar 29 2026 Dirk Müller <dmueller@suse.com>
- update to 8.2.1:
* Fixes a crash when a selected widget is removed while
selecting
* Fix crash when a widget disapears between selections
- update to 8.2.0:
* This release enhances text selection, with auto-scrolling,
and the ability to select across container widgets.
* Auto-scrolling on select
* Selecting over containers
* Added `App.ENABLE_SELECT_AUTO_SCROLL`,
`App.SELECT_AUTO_SCROLL_LINES`,
`App.SELECT_AUTO_SCROLL_SPEED` to tweak auto scrolling
behavior
* Tue Mar 24 2026 Matej Cepl <mcepl@cepl.eu>
- Allow `test_compute_wrap_offsets` tests, upstream claims it was
fixed in `rich` module (gh#Textualize/textual#6404).
* Sat Mar 14 2026 Dirk Müller <dmueller@suse.com>
- update to 8.1.1:
* Hotfix for animation on complete
- update to 8.1.0:
* Replace circuar references in DOM with weak references to
improve GC times
* When animating an attribute a second time, the original
`on_complete` is now called
- update to 8.0.2:
* Themes are now in alphabetical order in command palette
* Fixed issues with Directory Tree
* Mon Mar 02 2026 Matej Cepl <mcepl@cepl.eu>
- Update to 8.0.1:
- Fixed
- DirectoryTree runs more operations in a thread to avoid
micro-freezes
- Changes
- Some tweaks to garbage collection to reduce gc time #6402
- Update to 8.0.0: The major version change is due to changing
Select.BLANK to Select.NULL, to avoid an unfortunate name
clash.
- Added
- Added mode argument to push_screen and push_screen_wait to
enable pushing a screen to a non-active mode #6362
- Added App.mode_change_signal and App.screen_change_signal
[#6362]
- Added Tabs.get_tab #6362
- Added Catppuccin Frappe and Macchiato themes #6335
- Changed
- It is no longer a NOOP and warning to dismiss a non-active
screen. The dismiss will still work, but the screen may not
update if the current mode is not active. #6362
- Added 50ms delay when switching screens to allow state to
udpate and prevent janky flash of old content #6362
- Breaking change: Changed Select.BLANK to Select.NULL to
avoid clash with newer Widget.BLANK Classvar #6374
- Update to 7.5.0:
- The DataTable row cursor will extend to the full width if
there is excess space #6345
- The DataTable will send a selected event on click, only if
the cell / row / column is currently highlighted #6345
- Update to 7.4.0:
- Adds a pointer rule to TCSS, so you can change how the
mouse pointer looks over a given widget.
- Update to 7.3.0:
- Fixed
- Fixed triple click on command palette raising an exception
[#6329]
- Added
- Added DOM.query_one_optional
- Added default parameter to get_component_rich_style
get_component_rich_style
- Changed
- Added super+c (command on mac) alternative bindings for
copy, for terminals that support it (Ghostty does)
- Allow Sparkline to be of any height, not just 1 #6171
- Skip test_compute_wrap_offsets tests
(gh#Textualize/textual#6404).