Files
textual/CHANGELOG.md
Will McGugan ea089d5ae1 bump
2025-10-11 11:44:40 +01:00

181 KiB

Change Log

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

6.3.0 - 2025-10-01

Added

Fixed

Changed

6.2.1 - 2025-10-01

6.2.0 - 2025-09-30

Changed

Added

Fixed

6.1.0 - 2025-08-01

Added

6.0.0 - 2025-08-31

Fixed

Added

Changed

5.3.0 - 2025-08-07

Added

Fixed

5.2.0 - 2025-08-01

Added

5.1.1 - 2025-07-21

Fixed

5.1.0 - 2025-07-31

Added

Changed

5.0.1 - 2025-07-25

Fixed

5.0.0 - 2025-07-25

Added

Fixed

Changed

Removed

  • Breaking change: Removed Markdown.code_dark_theme, Markdown.code_light_theme, Markdown.code_indent_guides which are no longer needed with the new code fence. https://github.com/Textualize/textual/pull/5967
  • Removed focus style from Markdown, as it can be a little expensive e84600cfb3

4.0.0 - 2025-07-12

Fixed

Changed

Added

3.7.1 - 2025-07-09

Fixed

3.7.0 - 2025-07-07

Added

Changed

Fixed

3.6.0 - 2025-07-06

Fixed

Changed

Added

3.5.0 - 2025-06-20

Changed

3.4.0 - 2025-06-14

Fixed

Added

Changed

3.3.0 - 2025-06-01

Fixed

Added

Changed

3.2.0 - 2025-05-02

Fixed

Added

Changed

3.1.1 - 2025-04-22

Fixed

3.1.0 - 2025-04-12

Fixed

Changed

Added

3.0.1 - 2025-04-01

Fixed

  • Fixed issue with modal dialog not refreshing

3.0.0 - 2025-03-27

Changed

Fixed

Added

2.1.2 - 2025-02-26

Fixed

2.1.1 - 2025-02-22

Fixed

Changed

  • The user can now interrupt a scroll to end by grabbing the scrollbar or scrolling in any other way. Press ++end++ or scroll to the end to restore default behavior. This is more intuitive that it may sound.

2.1.0 - 2025-02-19

Fixed

Added

Changed

2.0.4 - 2025-02-17

Fixed

2.0.3 - 2025-02-16

Fixed

2.0.2 - 2025-02-16

Fixed

2.0.1 - 2025-02-16

Fixed

2.0.0 - 2025-02-16

Added

Fixed

Changed

  • Breaking change: OptionList no longer supports Separator, a separator may be specified with None
  • Implemented smooth (pixel perfect) scrolling on supported terminals. Set TEXTUAL_SMOOTH_SCROLL=0 to disable.

Removed

  • Breaking change: Removed wrap argument from OptionList (use CSS text-wrap: nowrap; text-overflow: ellipsis)
  • Breaking change: Removed tooltip argument from OptionList. Use tooltip attribute or with_tooltip(...) method.

1.0.0 - 2024-12-12

Added

Changed

Fixed

0.89.1 - 2024-12-05

Fixed

0.89.0 - 2024-12-05

Added

Changed

Fixed

0.88.1 - 2024-11-30

Fixed

0.88.0 - 2024-11-29

Fixed

Changed

0.87.1 - 2024-11-24

Fixed

0.87.0 - 2024-11-24

Added

Fixed

0.86.3 - 2024-11-19

Changed

Fixed

0.86.2 - 2024-11-18

Fixed

0.86.1 - 2024-11-16

Fixed

  • Tweaks to demo

0.86.0 - 2024-11-16

Fixed

Added

Changed

Removed

0.85.2 - 2024-11-02

0.85.1 - 2024-10-26

Fixed

0.85.0 - 2024-10-25

Changed

Added

Fixed

0.84.0 - 2024-10-22

Fixed

Added

0.83.0 - 2024-10-10

Added

Changed

0.82.0 - 2024-10-03

Fixed

Added

Changed

0.81.0 - 2024-09-25

Added

Changed

Fixed

0.80.1 - 2024-09-24

Fixed

0.80.0 - 2024-09-23

Added

Changed

Fixed

[0.79.1] - 2024-08-31

Fixed

0.79.0 - 2024-08-30

Added

Changed

0.78.0 - 2024-08-27

Added

0.77.0 - 2024-08-22

Added

Changed

Fixed

0.76.0

Changed

Fixed

Added

0.75.1 - 2024-08-02

Fixed

0.75.0 - 2024-08-01

Added

Changed

Fixed

0.74.0 - 2024-07-25

Fixed

Changed

0.73.0 - 2024-07-18

Added

Fixed

Changed

0.72.0 - 2024-07-09

Changed

Fixed

0.71.0 - 2024-06-29

Changed

Fixed

0.70.0 - 2024-06-19

Fixed

0.69.0 - 2024-06-16

Added

Fixed

Changed

  • App.check_bindings is now private
  • App.action_check_bindings is now App.action_simulate_key

0.68.0 - 2024-06-14

Added

  • Added ContentSwitcher.add_content

Fixed

0.67.1 - 2024-06-12

Changed

0.67.0 - 2024-06-11

Added

Changed

Fixed

0.66.0 - 2024-06-08

Changed

Added

0.65.2 - 2024-06-06

Fixed

Added

0.65.1 - 2024-06-05

Fixed

0.65.0 - 2024-06-05

Added

Fixed

Changes

0.64.0 - 2024-06-03

Fixed

0.63.6 - 2024-05-29

Fixed

0.63.5 - 2024-05-28

Fixed

Added

  • Added Styles.is_auto_width and Style.is_auto_height

0.63.4 - 2024-05-26

Added

  • Added immediate switch to Signal.publish

Fixed

0.63.3 - 2024-05-24

Fixed

Changed

0.63.2 - 2024-05-23

Fixed

0.63.1 - 2024-05-22

Fixed

0.63.0 - 2024-05-22

Fixed

Changed

0.62.0 - 2024-05-20

Added

0.61.1 - 2024-05-19

Fixed

0.61.0 - 2024-05-18

Added

Changed

  • Breaking change: Actions (as used in bindings) will no longer check the app if they are unhandled. This was undocumented anyway, and not that useful. https://github.com/Textualize/textual/pull/4516
  • Breaking change: Renamed App.namespace_bindings to active_bindings

0.60.1 - 2024-05-15

Fixed

  • Dependency issue

0.60.0 - 2024-05-14

Fixed

Added

0.59.0 - 2024-05-11

Fixed

Changed

  • When displaying a message using App.exit(), the console no longer highlights things such as numbers.

Added

0.58.1 - 2024-05-01

Fixed

0.58.0 - 2024-04-25

Fixed

Changed

0.57.1 - 2024-04-20

Fixed

Added

0.57.0 - 2024-04-19

Fixed

Added

[0.56.4] - 2024-04-09

Fixed

  • Disabled terminal synchronization in inline mode as it breaks on some terminals

0.56.3 - 2024-04-08

Fixed

0.56.2 - 2024-04-07

Fixed

  • Fixed inline mode not clearing with multiple screen

0.56.1 - 2024-04-07

Fixed

Changed

0.56.0 - 2024-04-06

Added

Fixed

Changed

0.55.1 - 2024-04-2

Fixed

  • Fixed mouse escape sequences being generated with mouse=False

0.55.0 - 2024-04-1

Fixed

Changed

Added

0.54.0 - 2024-03-26

Fixed

Changed

0.53.1 - 2024-03-18

Fixed

0.53.0 - 2024-03-18

Added

Fixed

Changed

0.52.1 - 2024-02-20

Fixed

0.52.0 - 2024-02-19

Changed

Added

0.51.0 - 2024-02-15

Added

Fixed

Changed

Fixed

0.50.1 - 2024-02-09

Fixed

0.50.0 - 2024-02-08

Fixed

Added

0.49.0 - 2024-02-07

Fixed

Changed

Added

0.48.2 - 2024-02-02

Fixed

Changed

0.48.1 - 2024-02-01

Fixed

0.48.0 - 2024-02-01

Changed

Added

Fixed

0.47.1 - 2024-01-05

Fixed

0.47.0 - 2024-01-04

Fixed

Changed

Added

0.46.0 - 2023-12-17

Fixed

Changed

Added

0.45.1 - 2023-12-12

Fixed

0.45.0 - 2023-12-12

Fixed

Removed

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

Changed

Added

0.44.1 - 2023-12-4

Fixed

0.44.0 - 2023-12-1

Changed

Added

Fixed

0.43.2 - 2023-11-29

Fixed

0.43.1 - 2023-11-29

Fixed

0.43.0 - 2023-11-28

Fixed

Added

Changed

0.42.0 - 2023-11-22

Fixed

Added

Changed

0.41.0 - 2023-10-31

Fixed

Added

Changed

0.40.0 - 2023-10-11

Added

0.39.0 - 2023-10-10

Fixed

Added

Changed

0.38.1 - 2023-09-21

Fixed

0.38.0 - 2023-09-21

Added

Fixed

Changed

  • Breaking change: CSS in DEFAULT_CSS is now automatically scoped to the widget (set SCOPED_CSS=False) to disable
  • Breaking change: Changed Markdown.goto_anchor to return a boolean (if the anchor was found) instead of None https://github.com/Textualize/textual/pull/3334

0.37.1 - 2023-09-16

Fixed

0.37.0 - 2023-09-15

Added

Fixed

Changed

0.36.0 - 2023-09-05

Added

Changed

Fixed

0.35.1

Fixed

  • Fixed flash of 80x24 interface in textual-web

0.35.0

Added

Fixed

0.34.0 - 2023-08-22

Added

Changed

Fixed

0.33.0 - 2023-08-15

Fixed

Changed

  • Breaking change: DOMNode.visible now takes into account full DOM to report whether a node is visible or not.

Removed

Added

Changed

  • DescendantBlur and DescendantFocus can now be used with @on decorator

0.32.0 - 2023-08-03

Added

  • Added widgets.Log
  • Added Widget.is_vertical_scroll_end, Widget.is_horizontal_scroll_end, Widget.is_vertical_scrollbar_grabbed, Widget.is_horizontal_scrollbar_grabbed

Changed

  • Breaking change: Renamed TextLog to RichLog

0.31.0 - 2023-08-01

Added

Changed

Fixed

0.30.0 - 2023-07-17

Added

Fixed

0.29.0 - 2023-07-03

Changed

  • Factored dev tools (textual command) in to external lib (textual-dev).

Added

Fixed

0.28.1 - 2023-06-20

Fixed

Added

Changed

  • Tooltips are now inherited, so will work with compound widgets

0.28.0 - 2023-06-19

Added

Fixed

Changed

0.27.0 - 2023-06-01

Fixed

Added

Changed

Removed

0.26.0 - 2023-05-20

Added

  • Added Widget.can_view

Changed

  • Textual will now scroll focused widgets to center if not in view

0.25.0 - 2023-05-17

Changed

Fixed

Added

0.24.1 - 2023-05-08

Fixed

  • Fix TypeError in code browser

0.24.0 - 2023-05-08

Fixed

Changed

Added

0.23.0 - 2023-05-03

Fixed

Changed

Added

0.22.3 - 2023-04-29

Fixed

0.22.2 - 2023-04-29

Added

Fixed

  • Fixed superfluous style updates for focus-within pseudo-selector

0.22.1 - 2023-04-28

Fixed

0.22.0 - 2023-04-27

Fixed

Added

Changed

0.21.0 - 2023-04-26

Changed

  • textual run execs apps in a new context.
  • Textual console no longer parses console markup.
  • Breaking change: Container no longer shows required scrollbars by default https://github.com/Textualize/textual/issues/2361
  • Breaking change: VerticalScroll no longer shows a required horizontal scrollbar by default
  • Breaking change: HorizontalScroll no longer shows a required vertical scrollbar by default
  • Breaking change: Renamed App.action_add_class_ to App.action_add_class
  • Breaking change: Renamed App.action_remove_class_ to App.action_remove_class
  • Breaking change: RadioSet is now a single focusable widget https://github.com/Textualize/textual/pull/2372
  • Breaking change: Removed containers.Content (use containers.VerticalScroll now)

Added

Fixed

0.20.1 - 2023-04-18

Fix

0.20.0 - 2023-04-18

Changed

Added

Fixed

0.19.1 - 2023-04-10

Fixed

0.19.0 - 2023-04-07

Added

Changed

  • Allowed border_title and border_subtitle to accept Text objects
  • Added additional line around titles
  • When a container is auto, relative dimensions in children stretch the container. https://github.com/Textualize/textual/pull/2221
  • DataTable page up / down now move cursor

Fixed

0.18.0 - 2023-04-04

Added

Changed

Fixed

0.17.3 - 2023-04-02

[Fixed]

0.17.2 - 2023-04-02

[Fixed]

[Changed]

  • tab and shift+tab are now defined on Screen.

0.17.1 - 2023-03-30

Fixed

0.17.0 - 2023-03-29

Fixed

Changed

Added

0.16.0 - 2023-03-22

Added

Changed

Removed

Fixed

0.15.1 - 2023-03-14

Fixed

0.15.0 - 2023-03-13

Fixed

0.15.0 - 2023-03-13

Changed

Added

Changed

  • Breaking change: Renamed Widget.action and App.action to Widget.run_action and App.run_action
  • Added shift, meta and control arguments to Pilot.click.

0.14.0 - 2023-03-09

Changed

Added

Fixed

0.13.0 - 2023-03-02

Added

Changed

Fixed

0.12.1 - 2023-02-25

Fixed

0.12.0 - 2023-02-24

Added

Changed

Removed

Fixed

0.11.1 - 2023-02-17

Fixed

0.11.0 - 2023-02-15

Added

Changed

Fixed

Removed

0.10.1 - 2023-01-20

Added

Fixed

Changed

0.10.0 - 2023-01-19

Added

Changed

Fixed

0.9.1 - 2022-12-30

Added

0.9.0 - 2022-12-30

Added

Changed

  • Widget.render_line now returns a Strip
  • Fix for slow updates on Windows
  • Bumped Rich dependency

0.8.2 - 2022-12-28

Fixed

0.8.1 - 2022-12-25

Fixed

0.8.0 - 2022-12-22

Fixed

Added

  • Added textual.actions.SkipAction exception which can be raised from an action to allow parents to process bindings.
  • Added textual keys preview.
  • Added ability to bind to a character in addition to key name. i.e. you can bind to "." or "full_stop".
  • Added TextLog.shrink attribute to allow renderable to reduce in size to fit width.

Changed

  • Deprecated PRIORITY_BINDINGS class variable.
  • Renamed char to character on Key event.
  • Renamed key_name to name on Key event.
  • Queries/walk_children no longer includes self in results by default https://github.com/Textualize/textual/pull/1416

0.7.0 - 2022-12-17

Added

Changed

Fixed

0.6.0 - 2022-12-11

https://textual.textualize.io/blog/2022/12/11/version-060

Added

Changed

  • Rebuilt DirectoryTree with new Tree control.
  • Empty containers with a dimension set to "auto" will now collapse instead of filling up the available space.
  • Container widgets now have default height of 1fr.
  • The default width of a Label is now auto.

Fixed

0.5.0 - 2022-11-20

Added

Changed

Fixed

0.4.0 - 2022-11-08

https://textual.textualize.io/blog/2022/11/08/version-040/#version-040

Changed

Added

0.3.0 - 2022-10-31

Fixed

Changed

  • DOMQuery now raises InvalidQueryFormat in response to invalid query strings, rather than cryptic CSS error
  • Dropped quit_after, screenshot, and screenshot_title from App.run, which can all be done via auto_pilot
  • Widgets are now closed in reversed DOM order
  • Input widget justify hardcoded to left to prevent text-align interference
  • Changed textual run so that it patches argv in more situations
  • DOM classes and IDs are now always treated fully case-sensitive https://github.com/Textualize/textual/issues/1047

Added

  • Added Unmount event
  • Added App.run_async method
  • Added App.run_test context manager
  • Added auto_pilot to App.run and App.run_async
  • Added Widget._get_virtual_dom to get scrollbars
  • Added size parameter to run and run_async
  • Added always_update to reactive
  • Returned an awaitable from push_screen, switch_screen, and install_screen https://github.com/Textualize/textual/pull/1061

0.2.1 - 2022-10-23

Changed

  • Updated meta data for PyPI

0.2.0 - 2022-10-23

Added

  • CSS support
  • Too numerous to mention

0.1.18 - 2022-04-30

Changed

  • Bump typing extensions

0.1.17 - 2022-03-10

Changed

  • Bumped Rich dependency

0.1.16 - 2022-03-10

Fixed

  • Fixed escape key hanging on Windows

0.1.15 - 2022-01-31

Added

  • Added Windows Driver

0.1.14 - 2022-01-09

Changed

  • Updated Rich dependency to 11.X

0.1.13 - 2022-01-01

Fixed

  • Fixed spurious characters when exiting app
  • Fixed increasing delay when exiting

0.1.12 - 2021-09-20

Added

  • Added geometry.Spacing

Fixed

  • Fixed calculation of virtual size in scroll views

0.1.11 - 2021-09-12

Changed

  • Changed message handlers to use prefix handle_
  • Renamed messages to drop the Message suffix
  • Events now bubble by default
  • Refactor of layout

Added

  • Added App.measure
  • Added auto_width to Vertical Layout, WindowView, an ScrollView
  • Added big_table.py example
  • Added easing.py example

0.1.10 - 2021-08-25

Added

  • Added keyboard control of tree control
  • Added Widget.gutter to calculate space between renderable and outside edge
  • Added margin, padding, and border attributes to Widget

Changed

  • Callbacks may be async or non-async.
  • Event handler event argument is optional.
  • Fixed exception in clock example https://github.com/willmcgugan/textual/issues/52
  • Added Message.wait() which waits for a message to be processed
  • Key events are now sent to widgets first, before processing bindings

0.1.9 - 2021-08-06

Added

  • Added hover over and mouse click to activate keys in footer
  • Added verbosity argument to Widget.log

Changed

  • Simplified events. Remove Startup event (use Mount)
  • Changed geometry.Point to geometry.Offset and geometry.Dimensions to geometry.Size

0.1.8 - 2021-07-17

Fixed

  • Fixed exiting mouse mode
  • Fixed slow animation

Added

  • New log system

0.1.7 - 2021-07-14

Changed

  • Added functionality to calculator example.
  • Scrollview now shows scrollbars automatically
  • New handler system for messages that doesn't require inheritance
  • Improved traceback handling