Files
textual/CHANGELOG.md
Will McGugan 65e81c58be Textual dev (#2884)
* WiP: Move the devtools and related code to `textual-dev` (#2834)

* Remove the textual script from the project file

This is moving into the textual-dev package.

* Remove the textual CLI code from Textual

This has all gone to live in textual-dev.

* Remove the devtools testing from Textual's unit tests

They've moved over to textual-dev instead.

* Remove the devtools server from Textual itself

The start of the process to remove as much of the core devtools as possible
from Textual.

* Switch the console docs example screenshot over to textual_dev

* Remove rednerables.py from Textual

* Remove the last parts of devtools from Textual

This is the last step. It remains to be seen if this is sustainable, but for
testing purposes this is the extreme case we're aiming for. I *think* this
will work though.

Hereon we'll be needing to do an editable install of textual-dev into
textual, and more generally and once this is "live" we'll be needing to make
sure that textual[dev] is installed when doing development work on textual
apps.

The thing that remains to be seen however is how this all works
with *developing* Textual itself. Will I always need to do an editable
install? Still got to figure that one out.

* Start to whittle down the pyproject file

The next step is to try and work out what can come out of the pyproject
file.

* Remove aiohttp from Textual

* Remove some more development dependencies we don't need any more

* Relock

* Remove the pointer to the previews directory

* Reintroduce the border preview snapshot test

* Reintroduce the color preview snapshot test

* Reinstate the key press for the border preview snapshot test

* Reintroduce the easing preview snapshot test

* Reintroduce the keys tool snapshot test

* Add pytest-asyncio as a development dependency

* Relock

* Pin the textual-dev version to 0.1.0 or later

Mostly to try and get the tests kicked off properly.

* Relock dependencies

* Further `textual-dev` changes (#2850)

* Remove the textual script from the project file

This is moving into the textual-dev package.

* Remove the textual CLI code from Textual

This has all gone to live in textual-dev.

* Remove the devtools testing from Textual's unit tests

They've moved over to textual-dev instead.

* Remove the devtools server from Textual itself

The start of the process to remove as much of the core devtools as possible
from Textual.

* Switch the console docs example screenshot over to textual_dev

* Remove rednerables.py from Textual

* Remove the last parts of devtools from Textual

This is the last step. It remains to be seen if this is sustainable, but for
testing purposes this is the extreme case we're aiming for. I *think* this
will work though.

Hereon we'll be needing to do an editable install of textual-dev into
textual, and more generally and once this is "live" we'll be needing to make
sure that textual[dev] is installed when doing development work on textual
apps.

The thing that remains to be seen however is how this all works
with *developing* Textual itself. Will I always need to do an editable
install? Still got to figure that one out.

* Start to whittle down the pyproject file

The next step is to try and work out what can come out of the pyproject
file.

* Remove aiohttp from Textual

* Remove some more development dependencies we don't need any more

* Relock

* Remove the pointer to the previews directory

* Reintroduce the border preview snapshot test

* Reintroduce the color preview snapshot test

* Reinstate the key press for the border preview snapshot test

* Reintroduce the easing preview snapshot test

* Reintroduce the keys tool snapshot test

* Add pytest-asyncio as a development dependency

* Relock

* Pin the textual-dev version to 0.1.0 or later

Mostly to try and get the tests kicked off properly.

* Relock dependencies

* Whitespace cleaning

* Swap mentions of textual[dev] to textual-dev

* Remove the dev extra

* Tweak README.md in response to PR review

* Tweak animation.md in response to PR review

* Tweak getting_started.md in response to PR review

* bump version

* lock

* drop dev

* more

* version bump

---------

Co-authored-by: Dave Pearson <davep@davep.org>
2023-07-03 15:37:40 +01:00

63 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.

0.29.0 - 2023-07-03

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