Skip to content

Update dependency textual to v6#127

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/textual-6.x
Open

Update dependency textual to v6#127
renovate[bot] wants to merge 1 commit intomainfrom
renovate/textual-6.x

Conversation

@renovate
Copy link

@renovate renovate bot commented Sep 3, 2025

This PR contains the following updates:

Package Change Age Confidence
textual >=0.1.15, <0.2 -> >=6.1, <6.2 age confidence

Release Notes

Textualize/textual (textual)

v6.1.0

Compare Source

Added
  • Added Button.flat boolean to enable flat button style #​6094
  • Added namespaces parameter to run_action #​6094
  • Added "block" border style #​6094

v6.0.0

Compare Source

Fixed
  • Fix type hint for SelectType: only hashable types are allowed. #​6034
  • Fixed Content.expand_tabs #​6038
  • Fixed return value for Pilot.double_click and Pilot.triple_click #​6035
  • Fixed sizing issue with Pretty widget #​6040 #​6041
  • Fixed garbled inline app output when inline_no_clear=True #​6080
Added
  • Added bar_renderable to ProgressBar widget #​5963
  • Added OptionList.set_options #​6048
  • Added TextArea.suggestion #​6048
  • Added TextArea.placeholder #​6048
  • Added Header.format_title and App.format_title for easier customization of title in the Header #​6051
  • Added Widget.get_line_filters and App.get_line_filters #​6057
  • Added Binding.Group #​6070
  • Added DOMNode.displayed_children #​6070
  • Added TextArea.hide_suggestion_on_blur boolean #​6070
  • Added OptionList.highlighted_option property #​6090
  • Added TextArea.update_suggestion method #​6090
  • Added textual.getters.app #​6089
Changed
  • Breaking change: The renderable property on the Static widget has been changed to content. #​6041
  • Breaking change: HeaderTitle widget is now a static, with no text and sub_text reactives #​6051
  • Breaking change: Renamed Label constructor argument renderable to content for consistency #​6045
  • Breaking change: Optimization to line API to avoid applying background styles to widget content. In practice this means that you can no longer rely on blank Segments automatically getting the background color.

v5.3.0

Compare Source

Added
Fixed

v5.2.0

Compare Source

Added
  • Added a 'stream' layout, which is a lot like vertical but with fewer supported rules (which is why it is faster), will remain undocumented for now. #​6013

v5.1.1

Compare Source

Fixed
  • Fixed overly large distribution, no code changes #​6010

v5.1.0

Compare Source

Added
  • Added empty pseudo class, which applies when a widget has no displayed children #​5999
  • Added Screen.action_focus #​5999
  • Added support for left and right mouse scroll for terminals and input devices which support it #​5995
Changed
  • last-child, last-of-type, first-child, and first-of-type apply to displayed children only #​5999
  • textual.compose is now public #​5999

v5.0.1

Compare Source

Fixed
  • Fixed appending to Markdown widgets that were constructed with an existing document #​5990

v5.0.0

Added
  • Added get_minimal_width to Visual protocol #​5962
  • Added expand and shrink attributes to GridLayout #​5962
  • Added Markdown.get_stream #​5966
  • Added textual.highlight module for syntax highlighting #​5966
  • Added MessagePump.wait_for_refresh method #​5966
  • Added Widget.container_scroll_offset e84600c
  • Added Markdown.source attribute to MarkdownBlocks e84600c
  • Added extension mechanism to Markdown e84600c
  • Added index to ListView.Selected event #​5973
  • Added layout switch to Static.update #​5973
Fixed
  • Fixed TextArea issue with the css theme, where the background color was stuck from the previous theme #​5964
  • Fixed TextArea runtime crash caused by tree-sitter breaking change #​5976
Changed
  • Improved rendering of Markdown tables (replace Rich table with grid) which allows text selection #​5962
  • Change look of command palette, to drop accented borders #​5966
  • Some style tweaks to Markdown e84600c
  • Content markup can now accept component classes when preceded by a dot, e.g. "Hello [.my_custo_style]World[/]!" #​5981
  • Breaking change: Visual.render_strips has a new signature. If you aren't explicitly building Visuals then this won't effect you. #​5981
  • Breaking change: The component classes on Markdown have been moved to MarkdownBlock. This won't affect you unless you have customize the Markdown CSS #​5981
  • The textual-speedups library will now be imported automatically if it is installed. Set TEXTUAL_SPEEDUPS=0 to disable.
  • Breaking change: Updated tree-sitter dependency for syntax extras now requires Python 3.10+ #​5977
  • Some TextArea syntax highlighting changes due to tree-sitter updates #​5977
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. #​5967
  • Removed focus style from Markdown, as it can be a little expensive e84600c

v4.1.0

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

v4.0.0

Compare Source

Fixed
  • Fixed query_one and query_exactly_one not raising documented WrongType exception. #​5945
  • Fixed logging to a file on Windows #​5941
  • Fixed eight bit colors crashing when applying dim style #​5957
Changed
  • Breaking change: Widget.anchor now has different semantics. It should be applied to a container and anchors to the bottom of the scroll position. #​5950
Added

v3.7.1

Compare Source

Fixed
  • Fixed broken text selection with soft_wrap=False #​5940

v3.7.0

Compare Source

Added
  • Added textual.getters #​5930
  • Added a show_cursor boolean to TextArea #​5934
Changed
  • Potential breaking change: Changed default query_one and query_exactly_one search to breadth first #​5930
  • Cursor is now visible by default when in read only mode (restoring pre 3.6.0 behavior) #​5934
Fixed
  • Fixed issue with Keylines not scrolling #​5936

v3.6.0

Compare Source

Added
  • Added textual.getters #​5930
  • Added a show_cursor boolean to TextArea #​5934
Changed
  • Potential breaking change: Changed default query_one and query_exactly_one search to breadth first #​5930
  • Cursor is now visible by default when in read only mode (restoring pre 3.6.0 behavior) #​5934
Fixed
  • Fixed issue with Keylines not scrolling #​5936

v3.5.0

Compare Source

Changed
  • Optimized startup #​5869
  • New blank visual which makes background faster to render (note this will break snapshots tests this version) #​5869
  • Exposed code_indent_guides boolean on Markdown widget #​5874
  • Changed code fence background to use CSS background rather than its code theme #​5874

v3.4.0

Compare Source

Fixed
Added
Changed
  • Content markup is now more lenient; if a 'tag' doesn't contain a valid style it will be included verbatim. #​5851

v3.3.0

Compare Source

Fixed
  • Fixed VERTICAL_BREAKPOINTS doesn't work #​5785
  • Fixed Button allowing text selection #​5770
  • Fixed running App.run after asyncio.run #​5799
  • Fixed triggering a deprecation warning in py >= 3.10 #​5799
  • Fixed Input invalid cursor position after updating the value #​5811
  • Fixed DEFAULT_CLASSES when applied to App #​5827
  • Fixed order of implicit content tag closing #​5823
Added
  • Exposed CollapsibleTitle #​5810
  • Added Color.hsv property and Color.from_hsv class method #​5803
  • Added cursor_at_start and cursor_at_end properties to the Input widget #​5830
Changed
  • Added a few features to python -m textual.markup playground #​5823

v3.2.0

Compare Source

Fixed
  • Fixed OptionList causing excessive redrawing #​5766
  • Log messages could be written to stdout when there was no app, which could happen when using run_async or threads. Now they will be suppressed, unless the env var TEXTUAL_DEBUG is set #​5782
Added
  • Added :first-child and :last-child pseudo classes #​5776
  • Added toggle_class parameter to reactives #​5778
  • Added compact parameter and reactive to Button, Input, ToggleButton, RadioSet, OptionList, TextArea #​5778
  • Added HORIZONTAL_BREAKPOINTS and VERTICAL_BREAKPOINTS to App and Screen #​5779
Changed
  • RadioSet now has a default width of 1fr #​5778

v3.1.1

Compare Source

Fixed
  • Fixed issue with tint filter #​5757
  • Fixed a crash when setting keymap before app mount #​5742

v3.1.0

Compare Source

Fixed
  • Fixed markup escaping edge cases #​5697
  • Fixed incorrect auto height in Collapsible #​5703
  • Fixed issue with keymaps and single-letter keys #​5726
  • Fixed OptionList size after removing or clearing options #​5728
  • Fixed footer / key panel not updating when keymaps are applied #​5724
  • Fixed alignment not being applied when there are min and max limits on dimensions #​5732
  • Fixed issues with OptionList scrollbar not updating #​5736
  • Fixed allow_focus method not overriding can_focus() #​5737
  • Fixed overlap of Input / TextArea selection with arbitrary text selection #​5739
Changed
  • Collapsible title now accepts str, Text, or Content #​5697
  • Rich Text objects will be converted to Content in OptionList and other widgets #​5712
  • Textual will always convert dim attributes to RGB by default #​5715
  • Notifications will now use content markup (previously they used Console markup) #​5719
Added
  • Added TEXTUAL_DIM_FACTOR env var to set the opacity of the 'dim' ANSI attribute #​5715
  • notify() now accepts a markup parameter to disable rendering the message as markup #​5719
  • Added Screen.text_selection_started_signal #​5739
  • Added App.clear_selection() helper method to clear arbitrary text selection of active screen #​5739

v3.0.1

Compare Source

Fixed
  • Fixed issue with modal dialog not refreshing

v3.0.0

Compare Source

Changed
  • Breaking change: App.query and friends will now always query the default (first) screen, not necessarily the active screen.
  • Content now has a default argument of an empty string, so Content() is equivalent to Content("")
  • Assigned names to Textual-specific threads: textual-input, textual-output. These should become visible in monitoring tools (ps, top, htop) as of Python 3.14. #​5654
  • Tabs now accept Content or Textual markup #​5657
  • Buttons will now use Textual markup rather than console markup
  • tree-sitter languages are now loaded lazily, improving cold-start time #​563
Fixed
  • Static and Label now accept Content objects, satisfying type checkers #​5618
  • Fixed click selection not being disabled when allow_select was set to false #​5627
  • Fixed crash on clicking line API border #​5641
  • Fixed Select.selection now correctly returns None if Select.BLANK is selected instead of an AssertionError
  • Fixed additional spaces after text-wrapping #​5657
  • Added missing scroll_end parameter to the Log.write_line method #​5672
  • Restored support for blink #​5675
  • Fixed scrolling breaking on DataTable with overflow: hidden #​5681
Added
  • Added Widget.preflight_checks to perform some debug checks after a widget is instantiated, to catch common errors. #​5588
  • Added text-padding style #​5657
  • Added Content.first_line property #​5657
  • Added Content.from_text constructor #​5657
  • Added Content.empty constructor #​5657
  • Added Content.pad method #​5657
  • Added Style.has_transparent_foreground property #​5657

v2.1.2

Compare Source

Fixed
  • Fixed command palette fuzzy search bailing too early #​5579

v2.1.1

Compare Source

Fixed
  • Fixed Link binding to open the link #​5564
  • Fixed IndexError in OptionList #​5574
  • Fixed issue with clear_panes breaking tabbed content #​5573
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.

v2.1.0

Compare Source

Fixed
  • Fixed smooth scrolling broken on iTerm over SSH #​5551
  • Fixed height of auto container which contains auto height children #​5552
  • Fixed Content.from_markup not stripping control codes #​5557
  • Fixed delta_x and delta_y in mouse events when smooth scrolling is enabled #​5556
  • Fixed flipped title colors in panel border #​5548
  • Fixed detection of smooth scrolling #​5558
Added
  • Added pointer_x, pointer_y, pointer_screen_x, and pointer_screen_y attributes to mouse events #​5556
Changed
  • Animating the scrollbar while dragging is disabled if smooth scrolling is available #​5558
  • Renamed TerminalSupportsInBandWindowResize to InBandWindowResize #​5558

v2.0.4

Compare Source

Fixed
  • Fixed smooth scrolling breaking mouse support in VSCode (and probably others) #​5549

v2.0.3

Compare Source

Fixed
  • Fixed traceback from OptionList in Command Palette #​5544

v2.0.2

Compare Source

Fixed
  • Fixed OptionList.add_options exhausting iterator #​5540
  • Fixed screen not refreshing after pop #​5543

v2.0.1

Compare Source

Fixed
  • Fixed escape tags in Textual markup #​5536

v2.0.0

Compare Source

Added
  • Added Select.type_to_search which allows you to type to move the cursor to a matching option #​5403
  • Added from_app_focus to Focus event to indicate if a widget is being focused because the app itself has regained focus or not #​5379
  • Added Blurred message to Input widget (matching Submitted and Changed) to make it easier to synchronize with validate_on parameter when set to 'blur'.
  • Added Offset.transpose #​5409
  • Added screen--selection component class to define style for selection #​5409
  • Added Widget.select_container property #​5409
  • Added Widget.select_all #​5409
  • Added Region.bottom_right_inclusive #​5409
  • Added double click to select, triple click to select all in container #​5409
  • Added arbitrary text selection #​5409
  • Added Widget.ALLOW_SELECT classvar for a per-widget switch to disable text selection #​5409
  • Added Widget.allow_select method for programmatic control of text selection #​5409
  • Added App.ALLOW_SELECT for a global switch to disable text selection #​5409
  • Added DOMNode.query_ancestor #​5409
  • Added selection to Log widget #​5467
  • Added text-wrap and text-overflow CSS values #​5485
  • Added Textual markup to replace Rich markup #​5485
  • Added Content.from_markup #​5485
Fixed
  • Fixed Pilot.click not working with times parameter #​5398
  • Fixed select refocusing itself too late #​5420
  • Fixed layout of the keys in the help panel when a key has a tooltip but no description #​5436
  • The content of an Input will now only be automatically selected when the widget is focused by the user, not when the app itself has regained focus (similar to web browsers). #​5379
  • Updated TextArea and Input behavior when there is a selection and the user presses left or right #​5400
  • Footer can now be scrolled horizontally without holding shift #​5404
  • Modified _on_blur method in Input to post a Blurred message
  • Fixed Log widget not refreshing on resize #​5460
  • Fixed special case with calculating the height of a container where all children have dynamic heights #​5463
  • Fixed scrollbars ignoring background opacity #​5458
  • Fixed Header icon showing command palette tooltip when disabled #​5427
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.

v1.0.0

Compare Source

Added
  • Added App.clipboard #​5352
  • Added standard cut/copy/paste (ctrl+x, ctrl+c, ctrl+v) bindings to Input / TextArea #​5352 & #​5374
  • Added system boolean to Binding, which hides the binding from the help panel #​5352
  • Added support for double/triple/etc clicks via chain attribute on Click events #​5369
  • Added times parameter to Pilot.click method, for simulating rapid clicks #​5369
  • Text can now be select using mouse or keyboard in the Input widget #​5340
Changed
  • Breaking change: Change default quit key to ctrl+q #​5352
  • The command palette will now select the top item automatically #​5361
  • ctrl+shift+k now deletes the current line in TextArea, and ctrl+x will cut
    the selection if there is one, otherwise it will cut the current line #​5374
  • Implemented a better matching algorithm for the command palette #​5365
Fixed
  • Fixed issue with alignment in auto containers #​5360

v0.89.1

Compare Source

Fixed
  • Fixed alignment of docked widgets #​5347

v0.89.0

Compare Source

Added
  • Added "tab" border style #​5335
  • Added support for XML syntax highlighting #​5320
  • Added TextArea.update_highlight_query #​5320
  • Input widget now supports text selection via mouse and keyboard #​5340
  • Added new keybinds (hold shift) for text selection in Input #​5340
  • Added Input.selection reactive attribute for reading and updating the current selection #​5340
  • Added Input.select_on_focus (default True) to enable/disable selecting all text in an Input on focus #​5340
  • Added methods Input.replace, Input.insert, Input.delete, Input.delete_selection for editing text #​5340
  • Added Input.selected_text property for getting the currently selected text #​5340
  • Input can now be scrolled independently of cursor position (hold shift and scroll with the mouse wheel in supported environments) #​5340
Changed
  • Breaking change: Removed Input reactive attributes view_position, cursor_position (now exists as a property which proxies to the Input.selection reactive attribute), #​5340
  • Input.restrict now checked on all edit operations (rather than just on insert) #​5340
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

v0.88.1

Compare Source

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

v0.88.0

Compare Source

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

v0.87.1

Compare Source

Fixed

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants