Skip to content

Releases: Textualize/textual

The snappier resize Release

05 Apr 09:13
634ca6e

Choose a tag to compare

[8.2.3] - 2026-04-05

Changed

  • Reduce lag when resizing window, by moving resize from idle to a timer #6471

The Faster Resize Release

03 Apr 13:22
f044be2

Choose a tag to compare

Fixed an issue where styles were being unneccesarily updated when resizing. Textual apps will now adapt to changes in the terminal size much more quickly.

[8.2.2] - 2026-04-03

Fixed

  • Fixed Pointless style updates when resizing #6464

The Hot Select Release

29 Mar 03:58
04b03c8

Choose a tag to compare

Fixes a crash when a selected widget is removed while selecting

[8.2.1] - 2026-03-29

Fixed

  • Fix crash when a widget disapears between selections #6455

The Select Release

27 Mar 09:30
e84eacc

Choose a tag to compare

This release enhances text selection, with auto-scrolling, and the ability to select across container widgets.

This work was sponsored by Mistral AI.

[8.2.0] - 2026-03-27

Added

  • Auto-scrolling on select #6440
  • Selecting over containers #6440
  • Added App.ENABLE_SELECT_AUTO_SCROLL, App.SELECT_AUTO_SCROLL_LINES, App.SELECT_AUTO_SCROLL_SPEED to tweak auto scrolling behavior #6440

The Hotly Completed Release

10 Mar 10:02
0f0849f

Choose a tag to compare

[8.1.1] - 2026-03-10

Fixed

  • Hotfix for animation on complete #6412

The Paused Released

10 Mar 03:07

Choose a tag to compare

This release should smooth scrolling large documents, particularly for Python < 3.14

[8.1.0] - 2026-03-10

Changed

  • Replace circuar references in DOM with weak references to improve GC times #6410
  • When animating an attribute a second time, the original on_complete is now called #6410

Added

  • Added experimental App.PAUSE_GC_ON_SCROLL_ boolean (disabled by default) #6410

The Direct Tree Release

03 Mar 20:25
431dc7d

Choose a tag to compare

[8.0.2] - 2026-03-03

Changed

  • Themes are now in alphabetical order in command palette #6405

Fixed

  • Fixed issues with Directory Tree #6405

The Juicy Release

01 Mar 19:17
483b3ee

Choose a tag to compare

Small update

[8.0.1] - 2026-03-01

Fixed

  • DirectoryTree runs more operations in a thread to avoid micro-freezes

Changes

  • Some tweaks to garbage collection to reduce gc time #6402

The BLANK to NULL release

16 Feb 17:14
576104f

Choose a tag to compare

The major version change is due to changing Select.BLANK to Select.NULL, to avoid an unfortunate name clash.

See below for the full changes...

[8.0.0] - 2026-02-16

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

The extended cursor release

30 Jan 13:48
9737a5a

Choose a tag to compare

The DataTable row cursor will now extend the full width of the datatable, which looks better.

The DataTable will now only emit a *Selected message if clicking a second time.

[7.5.0] - 2026-01-30

  • 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