v3.6.0

Textualize/textualv3.6.0Jul 6, 2025by willmcgugan

AI Summary

Focused on TextArea optimizations, including cursor visibility logic and scrolling fixes. Also fixed a Ghostty bug regarding negative mouse coordinates.

Key Highlights

  • Fixed Ghostty negative mouse coordinates
  • Optimized TextArea scrolling performance
  • Selecting in TextArea now hides the cursor until mouse release

New Features

  • Added TextArea.highlight_cursor_line toggle

Full Release Notes

Some substantial optimizations and tweaks for the TextArea widget, and the usual fixes.

## [3.6.0] - 2025-07-06

### Fixed

- Fixed issue with the "transparent" CSS value not being transparent when set using python https://github.com/Textualize/textual/pull/5890
- Fixed issue with pushing screens when Input has mouse captured https://github.com/Textualize/textual/pull/5900
- Implemented workaround for Ghostty bug which produces negative mouse coordinates https://github.com/Textualize/textual/pull/5926

## Changed

- Widget.release_mouse will now only release the mouse, if it was captured by self https://github.com/Textualize/textual/pull/5900
- Some optimizations to TextArea, which may be noticeable during scrolling (note: may break snapshots with a TextArea) https://github.com/Textualize/textual/pull/5925
- Selecting in the TextArea now hides the cursor until you release the mouse https://github.com/Textualize/textual/pull/5925
- Read only TextAreas will no longer display a cursor https://github.com/Textualize/textual/pull/5925

## Added

- Added `TextArea.highlight_cursor_line` toggle https://github.com/Textualize/textual/pull/5924