v8.1.0

Textualize/textualv8.1.0Mar 10, 2026by willmcgugan

AI Summary

This release focuses on performance optimization for large documents and scrolling, particularly for older Python versions. It introduces weak references for garbage collection and new experimental controls to pause GC during scroll events.

Key Highlights

  • Improved smooth scrolling for large documents
  • DOM circular references replaced with weak references for better GC
  • New experimental `App.PAUSE_GC_ON_SCROLL_` flag

New Features

  • Experimental `App.PAUSE_GC_ON_SCROLL_` boolean

Full Release Notes

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 https://github.com/Textualize/textual/pull/6410
- When animating an attribute a second time, the original `on_complete` is now called https://github.com/Textualize/textual/pull/6410

### Added

- Added experimental `App.PAUSE_GC_ON_SCROLL_` boolean (disabled by default) https://github.com/Textualize/textual/pull/6410