Skip to content

Releases: Textualize/textual

The so-long zero-ver Release

05 Dec 10:28
4dbd479
Compare
Choose a tag to compare

This release updates the tree-sitter dependency to add support for syntax highlighting in Python 3.13

See below for the full update

Note

This release will probably be the last before 1.0! Consider it a Release Candidate.

[0.89.0] - 2024-11-05

Added

  • Added "tab" border style #5335
  • Added support for XML syntax highlighting #5320
  • Added TextArea.update_highlight_query #5320

Fixed

  • Fixed Select not scrolling highlight in to view when clicked #5255
  • Upgraded tree-sitter to 0.23+ (syntax extras) #5320
  • Some syntax highlighting changes due to tree-sitter updates #5320
  • Breaking change: Document.query_syntax_tree signature changed #5320
  • Breaking change: TextArea.register_language signature changed #5320
  • Breaking change: SyntaxAwareDocument.language_name property removed #5320
  • Breaking change: Kotlin syntax highlighting removed from TextArea #5320
  • Fixed selection list wrapping #5331
  • Fixed CSS encoding issue on Windows #5324

The make fists with your toes Release

30 Nov 17:30
901fee4
Compare
Choose a tag to compare

Some minor fixes here.

[0.88.1] - 2024-11-30

Fixed

  • Fixed excessive rendering of the OptionList #5311
  • Fixed rendering glitches in Select #5311

The Yippee Ki‐Yay Release

29 Nov 10:21
Compare
Choose a tag to compare

Mostly a bugfix release, as we prepare for 1.0. Some minor API change, that is unlikely to impact anyone.

[0.88.0] - 2024-11-29

Fixed

  • Fixed infinite loop in Widget.anchor #5290
  • Restores the ability to supply console markup to command list #5294
  • Fixed delayed App Resize event #5296
  • Fixed ListView not updating its index or highlighting after removing items #5114
  • Fixed ListView focus styling rule being too broad #5304
  • Fixed issue with auto-generated tab IDs #5298

Changed

  • ListView.pop now returns AwaitComplete rather than AwaitRemove #5135
  • ListView.remove_items now returns AwaitComplete rather than AwaitRemove #5135

The Absolute hotfix

24 Nov 20:43
3a8eedd
Compare
Choose a tag to compare

Two extra-sneaky bugs fixed.

[0.87.1] - 2024-11-24

Fixed

  • Fixed offset not being applied to grid layout #5281
  • Fixed Select overlay set to auto width #5282

The Absolute Unit of a Release

24 Nov 12:19
de9897b
Compare
Choose a tag to compare

This version adds support for position:absolute in the CSS.

Also in this release is a game added to the demo.
Play the game by running the following command:

python -m textual.demo.game
Screenshot 2024-11-24 at 12 18 10

[0.87.0] - 2024-11-24

Added

  • Added Styles.has_any_rules #5264
  • Added position CSS rule. #5278
  • Added Widget.set_scroll #5278
  • Added Select.selection #5278

Fixed

  • Fixed offset applied to docked widgets #5264
  • Fixed loading widgets responding to input #5267

The Quickening tutorial update

19 Nov 15:53
532a6b0
Compare
Choose a tag to compare

[0.86.3] - 2024-11-19

Changed

  • Updated the tutorial (text and code) #5257

Fixed

  • Fixed a glitch with the scrollbar that occurs when you hold a to add stopwatches in the tutorial app #5257

The Quickening fix part 2

18 Nov 16:23
8d99130
Compare
Choose a tag to compare

A couple of hot-fixes.

[0.86.2] - 2024-11-18

Fixed

  • Fixed visibility glitch for widgets with an offset #5253
  • Fixed theme variables being unavailable in code until refresh_css was called #5254

The Quickening fix release

16 Nov 18:54
Compare
Choose a tag to compare

Just a tweak to the demo.

[0.86.1] - 2024-11-16

Fixed

  • Tweaks to demo

The Quickening Release

16 Nov 18:35
Compare
Choose a tag to compare

This is a large release!

v0.86.0 Adds an entirely new theming system and an updated demo (Run python -m textual).

The new theming system standardizes the look-and-feel of widgets. This should mean they will look pretty when used in combination, and you will need less tweaking of your UI. If your app already has a customized look and feel, you may need to make a few style changes. Let us know if you need any help with that (jump on the Discord server).

Here's what the demo looks like now:

Screenshot 2024-11-16 at 18 52 01
Screen.Recording.2024-11-16.at.19.08.15.mov

Use the command palette to switch themes...

[0.86.0] - 2024-11-16

Fixed

  • Fixed duplicated key displays in the help panel #5037
  • Fixed TextArea mouse selection with tab characters #5212
  • Fixed Tabs not updating the highlighting after removing a tab #5218

Added

  • Added App.theme reactive attribute #5087
  • Added various starter themes #5087
  • Added "Change theme" command to command palette #5087
  • Added variant parameter to Label widget for quick access to common styles #5087
  • Added App.get_theme which returns a theme by name #5087
  • Added App.register_theme and App.unregister_theme #5087
  • Added App.theme_changed_signal #5087
  • Added App.available_themes property which returns a mapping of theme names to Theme instances #5087
  • Added App.current_theme property which returns the currently active theme object #5087
  • Added App.get_theme_variable_defaults which returns a mapping of theme variables to their default values #5087
  • Added App.search which allows bringing up a fuzzy search list of commands on-demand #5087
  • Added App.search_themes which allows bringing up a fuzzy search list of themes on-demand #5087
  • Added textual.theme.ThemeProvider, a command palette provider which returns all registered themes #5087
  • Added several new built-in CSS variables #5087
  • Added support for in-band terminal resize protocol #5217
  • Added TEXTUAL_THEME environment var, which should be a comma separated list of desired themes #5238
  • Added Widget.is_scrolling #5238
  • Added Tree.add_json #5238

Changed

  • Driver.process_event is now Driver.process_message #5217
  • Driver.send_event is now Driver.send_message #5217
  • Added can_focus and can_focus_children parameters to scrollable container types. #5226
  • Added textual.lazy.Reveal #5226
  • Added Screen.action_blur #5226
  • Click events can now be used with the on decorator to match the originally clicked widget #5238
  • Breaking change: Removed App.dark reactive attribute #5087
  • Breaking change: To improve consistency, several changes have been made to default widget CSS and the CSS variables which ship with Textual. On upgrading, your app will likely look different. All of these changes can be overidden with your own CSS. #5087

Removed

  • Removed App.HOVER_EFFECTS_SCROLL_PAUSE #5238

The Focus, Will, Focus! Release

02 Nov 18:19
2413818
Compare
Choose a tag to compare

An interim fix, for broken focus-within pseudo-selector

[0.85.2] - 2024-11-02

  • Fixed broken focus-within #5190