From 6ae1b56ce4ab5fe2c75cfaa398c6e59bf82301b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9lio=20Guilherme?= Date: Tue, 14 Apr 2026 02:52:33 +0100 Subject: [PATCH 01/11] Simple fixes (#167) * Add content in anchors on offline Changelog * Improve user name detection in post_installer for Linux * Avoid invalid page index in ui/notebook * Avoid assertion error on startup of File Explorer * Hide known exception at start of RIDE, plugin RecentFiles --- src/robotide/application/CHANGELOG.html | 148 ++++++++++---------- src/robotide/application/pluginconnector.py | 2 +- src/robotide/postinstall/__init__.py | 2 +- src/robotide/ui/fileexplorerplugin.py | 2 +- src/robotide/ui/notebook.py | 5 +- tools/mkhtml.py | 2 + 6 files changed, 81 insertions(+), 80 deletions(-) diff --git a/src/robotide/application/CHANGELOG.html b/src/robotide/application/CHANGELOG.html index 920de3788..44ecce3b4 100644 --- a/src/robotide/application/CHANGELOG.html +++ b/src/robotide/application/CHANGELOG.html @@ -1,6 +1,6 @@ -Changelog

Changelog


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.

1.1. Added

  • +Changelog

    _Changelog


    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.

    _1.1. Added

    • Added Auto-Save feature. Default is disabled with setting zero minutes in Preferences→Save.
    • Added option on Tree (Project Explorer) context menu, to Sort Keywords (Case Insensitive). @@ -10,30 +10,30 @@ Added on Text Editor, (Preferences→Text Editor) option to Enable visible newlines configurable with ``enable visible newlines`` in settings.cfg, with default ``False``.
    • Added on External/Code Editor, both enabled, ``visible spaces`` and ``visible newlines``. -

    1.2. Fixed

    • +

    _1.2. Fixed

    • Fixed exception seen in console when selecting Tools→Library Finder… on a clean install. -

    1.3. Changed

    • +

    _1.3. Changed

    • Improved visibility of the Search action in Find Usages by adding ``Search…`` on the first row of the results table.
    • Changed isbinary to be internal library, instead of being dependency. -

    2. 2.2.2 - 2026-01-06

    2.1. Changed

    • +

    _2. 2.2.2 - 2026-01-06

    _2.1. Changed

    • The Test Suites Explorer can be visible or hidden with F12 (View→View Test Suites Explorer). Pane can be made floating or docked, by dragging or by double-clicking its top bar. See Release Notes for a workaround if you cannot make it visible.
    • In File Explorer opening non-text files is done by the operating system registered app. Text files are opened in simple editor, or RIDE if valid types. -

    3. 2.2.1.1 - 2025-12-08

    3.1. Fixed

    • +

    _3. 2.2.1.1 - 2025-12-08

    _3.1. Fixed

    • Fixed size fitting of folders tree in File Explorer. -

    4. 2.2.1 - 2025-12-01

    4.1. Added

    • +

    _4. 2.2.1 - 2025-12-01

    _4.1. Added

    • Added context menu to File Explorer, to Open test suites directories or test suites files (also with double-click).
    • Added context menu option to Open Containing Folder, in operating system file explorer, or specific tool.
    • Added Config Panel button to File Explorer plugin. Here, you can set the operating system file explorer, or specify other tool, the Font style, and Colors. -

    4.2. Fixed

    • +

    _4.2. Fixed

    • Fixed persistence of the state docked/floating of File Explorer.
    • Fixed Cut (Ctrl-X) when editing the content of a cell in Grid Editor, before was deleting all content. -

    5. 2.2 - 2025-10-05

    5.1. Added

      (2.2rc1 - 2025-09-25)
    +

_5. 2.2 - 2025-10-05

_5.1. Added

  (2.2rc1 - 2025-09-25)
 - Added Project Settings concept. The Project Settings is a  file named ``ride_settings.cfg`` inside a directory named ``.robot`` located in the Test Suite directory. The search for this directory, is done upwards from the Test Suite directory. You can create an empty directory, ``.robot`` located in the Test Suite directory or any parent directory, and RIDE will create and use the ``ride_settings.cfg``. This way you can have different settings, like: colors, UI language, and Plugins settings. The most relevant example is the creation of different Run Profiles or Arguments, in Test Runner. When you open a Test Suite outside one with Project Settings, you will see a dialog to restart RIDE, to use the ``Global Settings``.
   (2.1.5 - 2025-07-25)
 - Added parsing of option *--name* or *-N* and *Name* setting, to allow running test suites with them set.
@@ -54,7 +54,7 @@
   (2.1.3 - 2025-03-24)
 - Added syntax colorization for the ``GROUP`` marker.
 - Added on Text Editor, tab indentation markers and ``tab markers`` boolean setting with default ``True``.
-- Added on Text Editor, folding margin with markers style configurable with ``fold symbols`` in settings.cfg.

5.2. Fixed

  (2.2 - 2025-10-05)
+- Added on Text Editor, folding margin with markers style configurable with ``fold symbols`` in settings.cfg.

_5.2. Fixed

  (2.2 - 2025-10-05)
 - Fixed duplicated resources in Tree (Project Explorer).
   (2.2rc1 - 2025-09-25)
 - Fixed crash when renaming test cases names on Tree (Project Explorer), by cancelling with Escape or by adding a Space in the end.
@@ -82,7 +82,7 @@
 - Fixed no recognition of keywords with embedded arguments and full name. Issue #1106 from 12 Sep 2012.
   (2.1.1 - 2024-11-14)
 - Fixed broken go to definition after editing content in resource files.
-- Fixed long arguments in fixtures appearing splitted in Grid Editor. Still, arguments info will not be correct at calling step.

5.3. Changed

  (2.1.5 - 2025-07-25)
+- Fixed long arguments in fixtures appearing splitted in Grid Editor. Still, arguments info will not be correct at calling step.

_5.3. Changed

  (2.1.5 - 2025-07-25)
 - Modified the action of key TAB when selecting from auto-suggestions list in Grid Editor. Pressing TAB, selects the item and continues in cell editor.
   (2.1.4 - 2025-06-20)
 - Improved vertical scroll in Grid Editor, by having main scroll bars out of cells
@@ -99,31 +99,31 @@
 - Improved colorization for multiple Gherkin words, for example in the French language.
   (2.1.1 - 2024-11-14)
 - Changed the workflow for the development versions of RIDE. Now, development versions are taken from the ``develop`` branch, and the ``master`` will stay with released version.
-- Changed the way ``configobj`` code is imported. Now is a submodule obtained from https://github.com/DiffSK/configobj.

6. 2.2rc1 - 2025-09-25

6.1. Added

  • +- Changed the way ``configobj`` code is imported. Now is a submodule obtained from https://github.com/DiffSK/configobj.

_6. 2.2rc1 - 2025-09-25

_6.1. Added

  • Added Project Settings concept. The Project Settings is a file named ``ride_settings.cfg`` inside a directory named ``.robot`` located in the Test Suite directory. The search for this directory, is done upwards from the Test Suite directory. You can create an empty directory, ``.robot`` located in the Test Suite directory or any parent directory, and RIDE will create and use the ``ride_settings.cfg``. This way you can have different settings, like: colors, UI language, and Plugins settings. The most relevant example is the creation of different Run Profiles or Arguments, in Test Runner. When you open a Test Suite outside one with Project Settings, you will see a dialog to restart RIDE, to use the ``Global Settings``. -

6.2. Fixed

  • +

_6.2. Fixed

  • Fixed crash when renaming test cases names on Tree (Project Explorer), by cancelling with Escape or by adding a Space in the end.
  • Fixed missing text colorization in suites and test settings on Grid Editor. -

7. 2.1.5.2 - 2025-07-30

7.1. Fixed

  • +

_7. 2.1.5.2 - 2025-07-30

_7.1. Fixed

  • Restored init and main scripts and texteditor, because some changes in Grid Editor were not being saved in Text Editor and would be lost. -

8. 2.1.5.1 - 2025-07-26

8.1. Fixed

  • +

_8. 2.1.5.1 - 2025-07-26

_8.1. Fixed

  • Fix faulty cell editor in settings of Grid Editor which would prevent to change to Text Editor and Run tabs. -

9. 2.1.5 - 2025-07-25

9.1. Added

  • +

_9. 2.1.5 - 2025-07-25

_9.1. Added

  • Added parsing of option --name or -N and Name setting, to allow running test suites with them set.
  • Added indication of private keywords in Grid Editor, keywords will show in Italic, and with error background, when they are used outside of Keywords section, or from different files.
  • Added indication of private keywords in Details pop-up for keywords with tag robot:private or name starting with underscore, _ in Grid Editor. -

9.2. Changed

  • +

_9.2. Changed

  • Modified the action of key TAB when selecting from auto-suggestions list in Grid Editor. Pressing TAB, selects the item and continues in cell editor. -

9.3. Fixed

  • +

_9.3. Fixed

  • Fix cursor position when editing cells in Grid Editor. -

10. 2.1.4.1 - 2025-06-24

10.1. Fixed

  • +

_10. 2.1.4.1 - 2025-06-24

_10.1. Fixed

  • Fix broken installation of RIDE v2.1.4 by adding missing dependencies. -

11. 2.1.4 - 2025-06-20

11.1. Added

  • +

_11. 2.1.4 - 2025-06-20

_11.1. Added

  • Added Tools→Library Finder… to install libraries and Help→Open Library Documentation… . They share the same dialog, and definitions are recorded in ``settings.cfg``.
  • Added context menu to install libraries and to open documentation in Grid Editor Import section. Same as above description. @@ -142,7 +142,7 @@
  • Added divided Status Bar. Left side for main window, right side for Plugins. Working example in Text Editor, when selecting in Tree shows the filename in StatusBar. -

11.2. Changed

  • +

_11.2. Changed

  • Improved vertical scroll in Grid Editor, by having main scroll bars out of cells
  • Changed arguments parser to allow ``--version`` and ``--help`` functional in Windows @@ -152,17 +152,17 @@ Changed some informative dialogs and JSON Editor to use the customized colors.
  • Modified import statements to allow running RIDE without Robot Framework installed or versions older than 6.0. -

11.3. Fixed

  • +

_11.3. Fixed

  • Fixed Create Desktop Shortcut by pointing executable to ``python -m robotide``.
  • On Windows ignore false modification on files when opening Test Suites, causing confirmation dialog. -

12. 2.1.3 - 2025-03-24

12.1. Added

  • +

_12. 2.1.3 - 2025-03-24

_12.1. Added

  • Added syntax colorization for the ``GROUP`` marker.
  • Added on Text Editor, tab indentation markers and ``tab markers`` boolean setting with default ``True``.
  • Added on Text Editor, folding margin with markers style configurable with ``fold symbols`` in settings.cfg. -

12.2. Changed

  • +

_12.2. Changed

  • Better Search element in Text Editor which allows to be cleared.
  • When saving in Text Editor, the cursor remains at position, instead of jumping to Tree selection. @@ -174,7 +174,7 @@ Improved the recognition of BDD/Gherkin prefixes when localized in autocomplete on Grid Editor.
  • Improved colorization for multiple Gherkin words, for example in the French language. -

12.3. Fixed

  • +

_12.3. Fixed

  • Fixed white blocks on Tree due to failed animation when test execution is too rapid, causing crash on Windows.
  • Fixed not set text color on row labels in Grid Editor. Now the General ``secondary foreground`` is applied. @@ -183,19 +183,19 @@
  • Regression fix from v2.1b1 - Fix wrong item selection, like Test Suite, when doing right-click actions in Project Explorer. When right clicking over Tree elements, to, for example, expand or select tests, we want to keep the Editor in the same file or position. -

13. 2.1.2 - 2025-01-28

13.1. Fixed

  • +

_13. 2.1.2 - 2025-01-28

_13.1. Fixed

  • Partial fix of no update of renaming resource prefixed keywords. Issue #1230 from 29 Jan 2013.
  • Fixed no recognition of keywords with embedded arguments and full name. Issue #1106 from 12 Sep 2012. -

14. 2.1.1 - 2024-11-14

14.1. Changed

  • +

_14. 2.1.1 - 2024-11-14

_14.1. Changed

  • Changed the workflow for the development versions of RIDE. Now, development versions are taken from the ``develop`` branch, and the ``master`` will stay with released version.
  • Changed the way ``configobj`` code is imported. Now is a submodule obtained from https://github.com/DiffSK/configobj. -

14.2. Fixed

  • +

_14.2. Fixed

  • Fixed broken go to definition after editing content in resource files.
  • Fixed long arguments in fixtures appearing splitted in Grid Editor. Still, arguments info will not be correct at calling step. -

15. 2.1 - 2024-10-13

15.1. Added

  (2.1 - 2024-10-13)
+

_15. 2.1 - 2024-10-13

_15.1. Added

  (2.1 - 2024-10-13)
 - Added a setting for a specific Browser by editing the settings.cfg file. Add the string parameter
 ``browser`` in the section ``[Plugins][[Test Runner]]``.
   (2.1b1 - 2024-09-21)
@@ -250,7 +250,7 @@
 - Added ``FOR`` scope markers (``IN``, ``IN RANGE``, ``IN ENUMERATE``, ``IN ZIP``) to auto-complete list
 - Added support to read environment variable ``ROBOT_VERSION`` to apply some conditions.
 - Added note on Test Timeout that **timeout message** is not supported since Robot v3.0.1
-- Added the note, 'Colors will be active after next RIDE restart.' to the Preferences of Test Runner.

15.2. Changed

  (2.1 - 2024-10-13)
+- Added the note, 'Colors will be active after next RIDE restart.' to the Preferences of Test Runner.

_15.2. Changed

  (2.1 - 2024-10-13)
 - Changed the order of insert and delete rows in Grid Editor rows context menu.
   (2.1b1 - 2024-09-21)
 - Allow to do auto-suggestions of keywords in Text Editor without a shortcut, if you want to enable or disable this feature you can config in `Tools -> Preferences -> Text Editor -> Enable auto suggestions`.
@@ -281,7 +281,7 @@
 - Changed alias marker on library imports to consider variable ``ROBOT_VERSION``. If version is lower than 6.0, uses ``'WITH NAME'``, otherwise will use ``'AS'``
   (2.0.3 - 2023-04-16)
 - Allow to do auto-suggestions of keywords in Grid Editor without a shortcut, if you want to enable or disable this feature you can config in `Tools-> Preferences -> Grid Editor -> Enable auto suggestions`
-- Made ``\\n`` visible when editing cells in Grid Editor (problematic in Windows)

15.3. Fixed

  (2.1 - 2024-10-13)
+- Made ``\\n`` visible when editing cells in Grid Editor (problematic in Windows)

_15.3. Fixed

  (2.1 - 2024-10-13)
 - Fixed recognition of variables imported from YAML, JSON and Python files.
   (2.1b1 - 2024-09-21)
 - Fixed validation of multiple arguments with default values in Grid Editor.
@@ -329,18 +329,18 @@
 - Fixed clearing or emptying fixtures (Setups, Teardowns), now removes headers and synchronizes Text Editor
 - Fixed selection and persistance of colors in File Explorer and Project Tree panels
 - Fixed not using defined color for help and HTML content
-- Fixed missing newlines in sections separation

15.4. Removed

  (2.1a3 - 2024-07-22)
+- Fixed missing newlines in sections separation

_15.4. Removed

  (2.1a3 - 2024-07-22)
 - Removed support for HTML file format (obsolete since Robot Framework 3.2)
-- Removed support for old Python versions, 3.6 nd 3.7.

16. 2.1b1 - 2024-09-21

16.1. Added

  • +- Removed support for old Python versions, 3.6 nd 3.7.

_16. 2.1b1 - 2024-09-21

_16.1. Added

  • Added color to Test Runner Console Log final output, report and log since RF v7.1rc1.
  • Added Korean language support for UI, experimental.
  • Added option ``caret style`` to change insert caret to block or line in Text Editor, by editing ``settings.cfg``. The color of the caret is the same as setting and will be adjusted for better contrast with the background. -

16.2. Changed

  • +

_16.2. Changed

  • Allow to do auto-suggestions of keywords in Text Editor without a shortcut, if you want to enable or disable this feature you can config in Tools -> Preferences -> Text Editor -> Enable auto suggestions. -

16.3. Fixed

  • +

_16.3. Fixed

  • Fixed validation of multiple arguments with default values in Grid Editor.
  • Fixed on Text Editor when Saving the selection of tests to run in Test Suites (Tree) is cleared. @@ -350,7 +350,7 @@ Fixed delete variable from Test Suite settings remaining in Project Explorer.
  • Fixed obsfuscation of Libraries and Metadata panels when expanding Settings in Grid Editor and Linux systems. -

17. 2.1a3 - 2024-07-22

17.1. Added

  • +

_17. 2.1a3 - 2024-07-22

_17.1. Added

  • Added support for Setup in keywords, since Robot Framework version 7.0.
  • Added support for new VAR marker, since Robot Framework version 7.0. @@ -391,7 +391,7 @@ Tooltips for the fields are always shown in English.
  • Colorization for language configured files is working in Text Editor. -

17.2. Fixed

  • +

_17.2. Fixed

  • Fixed multiline variables in Variables section. In Text Editor they are separated by … continuation marker. In Grid Editor use | (pipe) to separate lines.
  • @@ -406,7 +406,7 @@ Fixed wrong continuation of long chains of keywords in Setups, Teardowns or Documentation
  • Fixed New User Keyword dialog not allowing empty Arguments field -

17.3. Changed

  • +

_17.3. Changed

  • Improved release packaging of RIDE, by using entry_points in setuptools configuration.
  • Parsing of clipboard content to separate by cells in Grid Editor. NOTE: Need to Apply Changes in Text Editor to be effective. @@ -414,11 +414,11 @@ Improved selection of items from Tree in Text Editor. Now finds more items and selects whole line.
  • Changed output in plugin Run Anything (Macros) to allow Zoom In/Out, and Copy content. -

17.4. Removed

  • +

_17.4. Removed

  • Removed support for HTML file format (obsolete since Robot Framework 3.2)
  • Removed support for old Python versions, 3.6 nd 3.7. -

18. 2.0.8.1 - 2023-11-01

18.1. Added

  • +

_18. 2.0.8.1 - 2023-11-01

_18.1. Added

  • Added auto update check when development version is installed
  • Added menu option ``Help→Check for Upgrade`` which allows to force update check and install development version @@ -437,7 +437,7 @@ Added variables creation shortcuts (``Ctrl-1,2,5``) to fields Arguments in Grid Editor
  • Added support for JSON variables, by using the installed Robot Framework import method -

18.2. Fixed

  • +

_18.2. Fixed

  • Fixed escaped spaces showing in Text Editor on commented cells
  • Fixed resource files dissapearing from Project tree on Windows @@ -455,7 +455,7 @@ Position of cursor in Text Editor auto-suggestions when line contains multibyte characters
  • Drag and drop of variables defined with comments between resource files -

18.3. Changed

  • +

_18.3. Changed

  • Improved keywords documentation search, by adding current dir to search
  • Improved Move up/down, ``Alt-UpArrow``/``Alt-DownArrow`` in Text Editor, to have proper indentation and selection @@ -471,14 +471,14 @@ Improved keyword ``Find Usages`` to return more matches. Fails to find mixed spaces and ``_``
  • In Grid Editor ``Ctrl-Shift-4`` now replaces escaped spaces ``\\ `` by spaces -

19. 2.0.7 - 2023-08-13

19.1. Added

  • +

_19. 2.0.7 - 2023-08-13

_19.1. Added

  • Added indication of matching brackets, ``()``, ``{}``, ``[]``, in Text Editor
  • Added context menu to RIDE tray icon. Options Show, Hide and Close
  • Added sincronization with Project Explorer to navigate to selected item, Test Case, Keyword, Variable, in Text Editor Note: This feature is working fine in Fedora 38, but not on Windows and macOS. -

19.2. Fixed

  • +

_19.2. Fixed

  • Fixed non syncronized expanding/collapse of Settings panel in Grid Editor, on Linux
  • Fixed not working the deletion of cells commented with ``\# `` in Grid Editor with ``Ctrl-Shift-D`` @@ -492,17 +492,17 @@ Fixed title of User Keyword in Grid Editor always showing ``Find Usages`` instead of the keyword name
  • Fixed renaming keywords when they were arguments of ``Run Keywords`` in Setups and Teardowns -

19.3. Changed

  • +

_19.3. Changed

  • Improve Text Editor auto-suggestions to keep libraries prefixes. -

20. 2.0.6 - 2023-06-10

20.1. Added

  • +

_20. 2.0.6 - 2023-06-10

_20.1. Added

  • Added boolean parameter ``filter newlines`` to Grid Editor with default ``True``, to hide or show newlines in cells -

20.2. Changed

  • +

_20.2. Changed

  • Changed ``tasks.py`` to test ``utest/application/test_app_main.py`` isolated from the other tests
  • Improve auto-suggestions of keywords in Grid Editor by allowing to close suggestions list with keys ARROW_LEFT or ARROW_RIGHT
  • Improve Text Editor auto-suggestions by using: selected text, text at left or at right of cursor -

21. 2.0.5 - 2023-05-08

21.1. Added

  • +

_21. 2.0.5 - 2023-05-08

_21.1. Added

  • Added ``FOR`` scope markers (``IN``, ``IN RANGE``, ``IN ENUMERATE``, ``IN ZIP``) to auto-complete list
  • Added support to read environment variable ``ROBOT_VERSION`` to apply some conditions. @@ -510,15 +510,15 @@ Added note on Test Timeout that timeout message is not supported since Robot v3.0.1
  • Added the note, Colors will be active after next RIDE restart. to the Preferences of Test Runner. -

21.2. Changed

  • +

_21.2. Changed

  • Changed alias marker on library imports to consider variable ``ROBOT_VERSION``. If version is lower than 6.0, uses ``WITH NAME``, otherwise will use ``AS`` -

22. Fixed

  • +

_22. Fixed

  • Fixed auto-indent on block commands in Text Editor -

23. 2.0.3 - 2023-04-16

23.1. Changed

  • +

_23. 2.0.3 - 2023-04-16

_23.1. Changed

  • Allow to do auto-suggestions of keywords in Grid Editor without a shortcut, if you want to enable or disable this feature you can config in Tools-> Preferences -> Grid Editor -> Enable auto suggestions
  • Made ``\\n`` visible when editing cells in Grid Editor (problematic in Windows) -

24. Fixed

  • +

_24. Fixed

  • Fixed missing auto-enclosing when in Cell Editor in Linux
  • Fixed RIDE will crash when using third party input method in Mac OS @@ -532,7 +532,7 @@ Fixed not using defined color for help and HTML content
  • Fixed missing newlines in sections separation -

25. 2.0 - 2023-03-01

25.1. Added

  (2.0rc1 - 2023-02-26)
+

_25. 2.0 - 2023-03-01

_25.1. Added

  (2.0rc1 - 2023-02-26)
 - Minimal support to accept `*** Comments ***` sections (unfinished code)
 - Added insert and delete cells to Text Editor, by using ``Ctrl-Shift-I`` and ``Ctrl-Shift-D``
 - Added move up and move down rows to Text Editor, by using ``Alt-Up`` and ``Alt-Down``
@@ -585,13 +585,13 @@
 - Added enclosing text in Text Editor or selected text with certain symbols
 - Added enclosing text in Grid Editor or selected text with certain symbols
 - Added 8s timer to shortcut creation dialog on install
-- Added process memory limit on Messages Log

25.2. Removed

  (2.0b2 - 2022-09-05)
+- Added process memory limit on Messages Log

_25.2. Removed

  (2.0b2 - 2022-09-05)
 - Removed ``robotframeworklexer`` dependency and local copy
 - Removed alignment flag on grid cell JSON Editor (Ctrl-Shift-J)
 - Removed moving to keyword/variable definition when doing Double-Click in grid cell
   (2.0b1 - 2020-07-26)
 - Python 2.7 support
-- wxPython/wxPhoenix version conditioning

25.3. Changed

  (2.0b3 - 2023-01-15)
+- wxPython/wxPhoenix version conditioning

_25.3. Changed

  (2.0b3 - 2023-01-15)
 - Hiding items in Test Suites explorer with names starting with #
 - Disabled the Close button on the Test Suites explorer
   This was causing not being possible to restore it, unless editing the settings.cfg file.
@@ -620,7 +620,7 @@
 - Changed icon background to white
 - Made Project Tree and File Explorer panels, Plugins.
 - wx.NewId() to wx.NewIdRef()
-- Separated AppendText for Messages Log

25.4. Fixed

  (2.0rc1 - 2023-02-26)
+- Separated AppendText for Messages Log

_25.4. Fixed

  (2.0rc1 - 2023-02-26)
 - Fixed blank Grid Editor at keywords with steps commented with ``\# ``, by using ``Ctrl-Shift-3 on Text Editor
   (2.0b3 - 2023-01-15)
 . Fixed low performance when opening large projects
@@ -694,7 +694,7 @@
 - Fixed Settings editor
 - Fixed blank Edit screen
 - Fixed Runner arguments parsing
-- Fixed Runner Log window Chinese and Latin encoding chars on Windows

26. 2.0rc1 - 2023-02-26

26.1. Added

  • +- Fixed Runner Log window Chinese and Latin encoding chars on Windows

_26. 2.0rc1 - 2023-02-26

_26.1. Added

  • Minimal support to accept *** Comments *** sections (unfinished code)
  • Added insert and delete cells to Text Editor, by using ``Ctrl-Shift-I`` and ``Ctrl-Shift-D`` @@ -702,30 +702,30 @@ Added move up and move down rows to Text Editor, by using ``Alt-Up`` and ``Alt-Down``
  • Added insert and delete rows to Text Editor, by using ``Ctrl-I`` and ``Ctrl-D`` -

26.2. Removed

26.3. Changed

26.4. Fixed

  • +

_26.2. Removed

_26.3. Changed

_26.4. Fixed

  • Fixed blank Grid Editor at keywords with steps commented with ``\# ``, by using ``Ctrl-Shift-3 on Text Editor -

27. 2.0b3 - 2023-01-15

27.1. Added

  • +

_27. 2.0b3 - 2023-01-15

_27.1. Added

  • Added swap row up, by using ``Ctrl-T``
  • Added commenting/uncommenting of content with ``\# ``, by using ``Ctrl-Shift-3`` and ``Ctrl-Shift-4``
  • Added support for editing .robot and .resource files with content before sections -

27.2. Removed

  • +

_27.2. Removed

  • None -

27.3. Changed

  • +

_27.3. Changed

  • Hiding items in Test Suites explorer with names starting with #
  • Disabled the Close button on the Test Suites explorer This was causing not being possible to restore it, unless editing the settings.cfg file. Other reason was to prevent user to closing it, after detaching the panel, and re-attaching, which has a bug making the Tree not visible. -

27.4. Fixed

  1. +

_27.4. Fixed

  1. Fixed low performance when opening large projects

    • Fixed comment and uncomment in Grid Editor when cells contain more than one variables assignement
    • Fixed console log stopping to output certain characters, like chinese and latin -

28. 2.0b2 - 2022-09-05

28.1. Added

  • +

_28. 2.0b2 - 2022-09-05

_28.1. Added

  • Added menu entry at Help → Offline Change Log to view this file on disk
  • Added skipped tests counter and corresponding colored icon on Project tree @@ -793,13 +793,13 @@ When editing, Ctrl-Home and Ctrl-End move cursor to start and end of cell content respectively.
  • Added Del key to clear Grid Editor cell content when in navigation mode (clear like doing Ctrl-X) -
  • 28.2. Removed

    • +

    _28.2. Removed

    • Removed ``robotframeworklexer`` dependency and local copy
    • Removed alignment flag on grid cell JSON Editor (Ctrl-Shift-J)
    • Removed moving to keyword/variable definition when doing Double-Click in grid cell -

    28.3. Changed

    • +

    _28.3. Changed

    • Unit tests to use ``pytest`` and removed ``nose`` dependency. Support for Python 3.10 at unit test level.
    • Prevent expanding Tests and change selection on Project tree (when right-clicking) @@ -829,7 +829,7 @@ Changed Enter button in navigation mode to start editing cell, and to move to right cell when in edit mode
    • Performance improvements for loading large test suites -

    28.4. Fixed

    • +

    _28.4. Fixed

    • Fixed missing menu icons on Linux (was working on Windows)
    • Fixed removal of animation in Project tree when test run is interrupted @@ -902,7 +902,7 @@ Fixed RIDE startup crash when Tree or File Explorer plugins use opened=False setting
    • Fixed error occurring when deleting test cases on Tree -

    29. 2.0b1 - 2020-07-26

    29.1. Added

    • +

    _29. 2.0b1 - 2020-07-26

    _29.1. Added

    • Added CHANGELOG.adoc
    • Added ignoring log.html and report.html on reporting HTML test suites @@ -920,11 +920,11 @@ Added 8s timer to shortcut creation dialog on install
    • Added process memory limit on Messages Log -

    29.2. Removed

    • +

    _29.2. Removed

    • Python 2.7 support
    • wxPython/wxPhoenix version conditioning -

    29.3. Changed

    • +

    _29.3. Changed

    • Improved filesystem changes detection, with a confirmation dialog to reload workspace
    • Changed dependency on wx.Window on tree panel @@ -938,7 +938,7 @@ wx.NewId() to wx.NewIdRef()
    • Separated AppendText for Messages Log -

    29.4. Fixed

    • +

    _29.4. Fixed

    • Fixed editing cells in Grid Editor on wxPython 4.1
    • Fixed not saving file after deleting text in Text Editor @@ -998,12 +998,12 @@ Fixed Runner arguments parsing
    • Fixed Runner Log window Chinese and Latin encoding chars on Windows -

    30. 1.7.4.2 - 2020-01-20

    30.1. Added

    • +

    _30. 1.7.4.2 - 2020-01-20

    _30.1. Added

    • wxPython version locked up to 4.0.7.post2. -

    30.2. Removed

    • +

    _30.2. Removed

    • None -

    30.3. Changed

    • +

    _30.3. Changed

    • None -

    30.4. Fixed

    • +

    _30.4. Fixed

    • None
    diff --git a/src/robotide/application/pluginconnector.py b/src/robotide/application/pluginconnector.py index 1160a3375..cd53be7d9 100644 --- a/src/robotide/application/pluginconnector.py +++ b/src/robotide/application/pluginconnector.py @@ -21,9 +21,9 @@ def plugin_factory(application, plugin_class, silent=False): try: plugin = plugin_class(application) except Exception as e: - print(e) msg, traceback = utils.get_error_details() if not silent: + print(e) return BrokenPlugin(msg, traceback, plugin_class) else: return PluginConnector(plugin, application) diff --git a/src/robotide/postinstall/__init__.py b/src/robotide/postinstall/__init__.py index a2b8d68e2..d2523c640 100644 --- a/src/robotide/postinstall/__init__.py +++ b/src/robotide/postinstall/__init__.py @@ -180,7 +180,7 @@ def _create_desktop_shortcut_linux(frame=None): desktop = {"de": "Desktop", "en": "Desktop", "es": "Escritorio", "fi": r"Työpöytä", "fr": "Bureau", "it": "Scrivania", "pt": r"Área de Trabalho", "zh": "Desktop"} - user = basename(expanduser('~')) + user = getuser() DEFAULT_LANGUAGE = environ.get('LANG', '').split(':') if DEFAULT_LANGUAGE is None: DEFAULT_LANGUAGE = ['en_US'] diff --git a/src/robotide/ui/fileexplorerplugin.py b/src/robotide/ui/fileexplorerplugin.py index d9228058a..e27f00873 100644 --- a/src/robotide/ui/fileexplorerplugin.py +++ b/src/robotide/ui/fileexplorerplugin.py @@ -335,7 +335,7 @@ def update_tree(self): try: self.tree_ctrl.ExpandPath(self._controller.data.source) self.tree_ctrl.TreeCtrl.EnsureVisible(self.tree_ctrl.TreeCtrl.GetSelection()) - except (RuntimeError, AttributeError): + except (AssertionError, RuntimeError, AttributeError): pass # self.on_size(wx.EVT_SIZE) self.Refresh() diff --git a/src/robotide/ui/notebook.py b/src/robotide/ui/notebook.py index e3f5c95ac..37d25c705 100644 --- a/src/robotide/ui/notebook.py +++ b/src/robotide/ui/notebook.py @@ -19,7 +19,6 @@ import wx.lib.agw.aui as aui from ..publish import RideNotebookTabChanging, RideNotebookTabChanged -from wx import wxAssertionError class NoteBook(aui.AuiNotebook): @@ -85,8 +84,8 @@ def on_tab_changing(self, event): return oldselect = event.GetOldSelection() try: - oldtitle = self.GetPageText(oldselect) - except (wxAssertionError, RuntimeError): + oldtitle = self.GetPageText(oldselect) if oldselect >= 0 else "" + except (AssertionError, RuntimeError): oldtitle = "" newindex = event.GetSelection() newtitle = self.GetPageText(event.GetSelection()) diff --git a/tools/mkhtml.py b/tools/mkhtml.py index 5f9dea53b..1b70e08bc 100644 --- a/tools/mkhtml.py +++ b/tools/mkhtml.py @@ -52,6 +52,8 @@ # xml:lang="en" mod_line = re.sub(r"\">", "\" xml:lang=\"en\">", line) mod_line = re.sub(r"
    .*

    All notable", "

    All notable", mod_line) + # Make SonarCube happy with accessibility anchors + mod_line = re.sub(r">", ">_", mod_line) sources.write(mod_line) sources.write('\n') From 38f3bf0963771de8cb3abcdb4d6e0d537c69d34c Mon Sep 17 00:00:00 2001 From: HelioGuilherme66 Date: Fri, 17 Apr 2026 01:37:30 +0100 Subject: [PATCH 02/11] Fix exception in isbinary --- src/robotide/lib/isbinary/check.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/robotide/lib/isbinary/check.py b/src/robotide/lib/isbinary/check.py index 1f4ee4df8..5187b19e5 100644 --- a/src/robotide/lib/isbinary/check.py +++ b/src/robotide/lib/isbinary/check.py @@ -82,7 +82,7 @@ def is_decodable_as_unicode(bytes_to_check: bytes, /) -> bool: try: bytes_to_check.decode(encoding=detected_encoding["encoding"]) decodable_as_unicode = True - except (LookupError, UnicodeDecodeError): + except (LookupError, UnicodeDecodeError, TypeError): pass return decodable_as_unicode From dbc4ddc123c3cd1333ba6fc2c1a9b09148f6d852 Mon Sep 17 00:00:00 2001 From: HelioGuilherme66 Date: Sat, 18 Apr 2026 12:32:11 +0100 Subject: [PATCH 03/11] Improve coverture reports and appveyor pipeline --- .appveyor.yml | 7 ++++++- .coveragerc | 8 ++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 23f9c708b..ed8d930e8 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -68,10 +68,12 @@ build: off # scripts that run after cloning repository install: + - C:\Python311-x64\python -m pip install --upgrade pip - C:\Python311-x64\python -m pip install -r requirements-dev.txt - C:\Python311-x64\python -m pip install -r requirements.txt - C:\Python311-x64\python -m pip install robotframework - - C:\Python311-x64\python -m pip install . + - C:\Python311-x64\python -m build + - C:\Python311-x64\python -m pip install dist/*.whl #---------------------------------# # tests configuration # @@ -86,4 +88,7 @@ test_script: artifacts: - path: coverage_report.7z name: coverage_report + - path: dist\*.whl + name: package + diff --git a/.coveragerc b/.coveragerc index 15adf63ca..a5f2a79fd 100644 --- a/.coveragerc +++ b/.coveragerc @@ -1,6 +1,9 @@ +[paths] +source = + src/ + %APPVEYOR_BUILD_FOLDER%\src + [run] -# include = ./src/* -source = src/ branch = True relative_files = True dynamic_context = test_function @@ -24,6 +27,7 @@ skip_empty = True exclude_lines = if __name__ == '__main__': if __name__ == '__main__' and 'robotide' not in sys.modules: +ignore_errors = True [xml] output = .coverage-reports/coverage.xml From 61d86e400783791438ed377c44ea0a4fd77993d1 Mon Sep 17 00:00:00 2001 From: HelioGuilherme66 Date: Sat, 18 Apr 2026 12:40:11 +0100 Subject: [PATCH 04/11] Fix path in appveyor pipeline --- .appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.appveyor.yml b/.appveyor.yml index ed8d930e8..17c89cd3f 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -73,7 +73,7 @@ install: - C:\Python311-x64\python -m pip install -r requirements.txt - C:\Python311-x64\python -m pip install robotframework - C:\Python311-x64\python -m build - - C:\Python311-x64\python -m pip install dist/*.whl + - C:\Python311-x64\python -m pip install .\dist\*.whl #---------------------------------# # tests configuration # From 97aa5bcb106400f1d29cadae35a3b8a058e46ef9 Mon Sep 17 00:00:00 2001 From: HelioGuilherme66 Date: Sat, 18 Apr 2026 12:52:53 +0100 Subject: [PATCH 05/11] Try to fix path in appveyor pipeline --- .appveyor.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 17c89cd3f..8797e1421 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -3,7 +3,7 @@ #---------------------------------# # version format -version: 2.1.{build} +version: 2.2.3.{build} # branches to build branches: @@ -73,7 +73,8 @@ install: - C:\Python311-x64\python -m pip install -r requirements.txt - C:\Python311-x64\python -m pip install robotframework - C:\Python311-x64\python -m build - - C:\Python311-x64\python -m pip install .\dist\*.whl + # I don't know the exact name of wheel so use workaround + - powershell.exe C:\Python311-x64\python -m pip install (get-item .\dist\*.whl).FullName #---------------------------------# # tests configuration # From d5f4a20abac461c3d21ab4175539606f2f189164 Mon Sep 17 00:00:00 2001 From: HelioGuilherme66 Date: Mon, 20 Apr 2026 02:14:40 +0100 Subject: [PATCH 06/11] Add prefix for naming coverage reports. --- tasks.py | 17 ++++++-- utest/editor/test_z_kweditor_plugin.py | 60 +++++++------------------- 2 files changed, 28 insertions(+), 49 deletions(-) diff --git a/tasks.py b/tasks.py index fdfb535df..94c15b75b 100644 --- a/tasks.py +++ b/tasks.py @@ -150,6 +150,7 @@ BUILD_DIR = join(ROOT_DIR, 'build') ROBOTIDE_PACKAGE = join(ROOT_DIR, 'src', 'robotide') BUNDLED_ROBOT_DIR = join(ROBOTIDE_PACKAGE, 'lib', 'robot') +OSTYPE = sys.platform TEST_PROJECT_DIR = 'theproject' TEST_LIBS_GENERATED = 10 @@ -426,15 +427,23 @@ def test_ci(ctx, test_filter=''): "--ignore=utest/isbinary/fixtures", "--strict-markers" ] - + + if OSTYPE == 'linux': + cov_prefix = '' + elif OSTYPE == 'win32': + cov_prefix = '1' + elif OSTYPE == 'darwin': + cov_prefix = '2' + else: + cov_prefix = '3' # unkown # a = subprocess.Popen(["coverage", "run", "-a", "--data-file=.coverage.1", "-m", "pytest", "--cov-config=.coveragerc", "--cov=src", "--cov-report=xml:.coverage-reports/coverage_1.xml", "--cov-report=html:.coverage-reports/htmlcov", "--cov-branch", "--cov-context=test", "-k test_", "-v", "utest/application/test_app_main.py"]) - a = subprocess.Popen(["coverage", "run", "-a", "--data-file=.coverage.1", "-m", "pytest", *pytest_args, "--html=.coverage-reports/pytest_report1.html", "--self-contained-html", "-k test_", "-v", "utest/application/test_app_main.py"]) + a = subprocess.Popen(["coverage", "run", "-a", f"--data-file=.coverage.{cov_prefix}1", "-m", "pytest", *pytest_args, f"--html=.coverage-reports/pytest_report{cov_prefix}1.html", "--self-contained-html", "-k test_", "-v", "utest/application/test_app_main.py"]) a.communicate(b'') # z = subprocess.Popen(["coverage", "run", "-a", "--data-file=.coverage.2", "-m", "pytest", "--cov-config=.coveragerc", "--cov=src", "--cov-report=xml:.coverage-reports/coverage_2.xml", "--cov-report=html:.coverage-reports/htmlcov", "--cov-branch", "--cov-context=test", "--cov-append", "-k test_", "-v", "utest/editor/test_z_kweditor_plugin.py"]) - z = subprocess.Popen(["coverage", "run", "-a", "--data-file=.coverage.2", "-m", "pytest", *pytest_args, "--html=.coverage-reports/pytest_report2.html", "--self-contained-html", "-k test_", "-v", "utest/editor/test_z_kweditor_plugin.py"]) + z = subprocess.Popen(["coverage", "run", "-a", f"--data-file=.coverage.{cov_prefix}2", "-m", "pytest", *pytest_args, f"--html=.coverage-reports/pytest_report{cov_prefix}2.html", "--self-contained-html", "-k test_", "-v", "utest/editor/test_z_kweditor_plugin.py"]) z.communicate(b'') # b = subprocess.Popen(["coverage", "run", "-a", "--data-file=.coverage.3", "-m", "pytest", "--ignore=utest/application/test_app_main.py", "--ignore=utest/editor/test_z_kweditor_plugin.py", "--cov-config=.coveragerc", "--cov=src", "--cov-report=xml:.coverage-reports/coverage_3.xml", "--cov-report=html:.coverage-reports/htmlcov", "--cov-branch", "--cov-context=test", "--cov-append", "-k test_", "-v", TEST_DIR]) - b = subprocess.Popen(["coverage", "run", "-a", "--data-file=.coverage.3", "-m", "pytest", *pytest_args, "--html=.coverage-reports/pytest_report3.html", "--self-contained-html", "--ignore=utest/application/test_app_main.py", "--ignore=utest/editor/test_z_kweditor_plugin.py", "-k test_", "-v", TEST_DIR]) + b = subprocess.Popen(["coverage", "run", "-a", f"--data-file=.coverage.{cov_prefix}3", "-m", "pytest", *pytest_args, f"--html=.coverage-reports/pytest_report{cov_prefix}3.html", "--self-contained-html", "--ignore=utest/application/test_app_main.py", "--ignore=utest/editor/test_z_kweditor_plugin.py", "-k test_", "-v", TEST_DIR]) b.communicate(b'') c = subprocess.Popen(["coverage", "combine", "--keep"]) c.communicate(b'') diff --git a/utest/editor/test_z_kweditor_plugin.py b/utest/editor/test_z_kweditor_plugin.py index 6c1a4fd94..dbfef55b2 100644 --- a/utest/editor/test_z_kweditor_plugin.py +++ b/utest/editor/test_z_kweditor_plugin.py @@ -323,7 +323,7 @@ def test_disable(self): def test_show(self): # self.setup_data() - self.frame.Show() + # self.frame.Show() self.app.tree.select_controller_node(self.test_case) show = self.frame.Children print(f"DEBUG: test_show is children={[n.Name for n in show]}") @@ -338,7 +338,7 @@ def test_show(self): def test_on_comment_cells(self): self.setup_data() - self.frame.Show() + # self.frame.Show() # self.creator.editor_for(self.app.plugin, self._panel, self.frame.tree) self._grid.kweditor.SelectBlock(2, 2, 2, 2) sel = self._grid.kweditor.selection @@ -348,7 +348,7 @@ def test_on_comment_cells(self): data = self._grid.kweditor.get_selected_content() print(f"DEBUG: After Sharp Comment Data Cell is {data}") wx.CallLater(5000, self.app.ExitMainLoop) - # self.app.MainLoop() + self.app.MainLoop() """ Clipboard tests moved from test_grid.py to here """ @@ -378,7 +378,7 @@ def test_copy_row(self): @pytest.mark.skip() def test_copy_block(self): self.setup_data() - self.frame.Show() + # self.frame.Show() self._copy_block_and_verify((0, 0, 2, 2), DATA) # Uncomment next lines if you want to see the app # wx.CallLater(5000, self.app.ExitMainLoop) @@ -393,7 +393,7 @@ def _copy_block_and_verify(self, block, exp_content): def test_cut_one_cell(self): self.setup_data() - self.frame.Show() + # self.frame.Show() self._cut_block_and_verify((0, 0, 0, 0), [['kw1']], [['', '', '']] + DATA[1:]) # Uncomment next lines if you want to see the app @@ -402,7 +402,7 @@ def test_cut_one_cell(self): def test_cut_row(self): self.setup_data() - self.frame.Show() + # self.frame.Show() self._cut_block_and_verify((2, 0, 2, 2), [DATA[2]], DATA[:2]) # Uncomment next lines if you want to see the app # wx.CallLater(5000, self.app.ExitMainLoop) @@ -410,11 +410,11 @@ def test_cut_row(self): def test_cut_block(self): self.setup_data() - self.frame.Show() + # self.frame.Show() self._cut_block_and_verify((0, 0, 2, 2), DATA, []) # Uncomment next lines if you want to see the app wx.CallLater(5000, self.app.ExitMainLoop) - # self.app.MainLoop() + self.app.MainLoop() def _cut_block_and_verify(self, block, exp_clipboard, exp_grid): self._cut_block(block) @@ -424,7 +424,7 @@ def _cut_block_and_verify(self, block, exp_clipboard, exp_grid): def test_undo_with_cut(self): self.setup_data() - self.frame.Show() + # self.frame.Show() self._cut_block((0, 0, 0, 0)) self._grid.kweditor.undo() self._verify_grid_content(DATA) @@ -443,7 +443,7 @@ def test_undo_with_cut(self): def test_multiple_levels_of_undo(self): self.setup_data() - self.frame.Show() + # self.frame.Show() self._cut_block((0, 0, 0, 0)) self._cut_block((2, 0, 2, 2)) # We have problems here. We need undo for each cell removed @@ -463,7 +463,7 @@ def _cut_block(self, block): def test_paste_one_cell(self): self.setup_data() - self.frame.Show() + # self.frame.Show() self._copy_and_paste_block((1, 0, 1, 0), (3, 0, 3, 0), DATA + [['kw2']]) # These tests are not independent self._copy_and_paste_block((1, 0, 1, 0), (0, 3, 0, 3), @@ -474,7 +474,7 @@ def test_paste_one_cell(self): def test_paste_row(self): self.setup_data() - self.frame.Show() + # self.frame.Show() self._copy_and_paste_block((2, 0, 2, 2), (3, 1, 3, 1), DATA + [[''] + DATA[2]]) # Uncomment next lines if you want to see the app # wx.CallLater(5000, self.app.ExitMainLoop) @@ -482,7 +482,7 @@ def test_paste_row(self): def test_paste_block(self): self.setup_data() - self.frame.Show() + # self.frame.Show() self._copy_and_paste_block((0, 0, 2, 2), (4, 0, 4, 0), DATA + [['']] + DATA) # Uncomment next lines if you want to see the app # wx.CallLater(5000, self.app.ExitMainLoop) @@ -491,7 +491,7 @@ def test_paste_block(self): # @pytest.mark.skip() def test_paste_over(self): self.setup_data() - self.frame.Show() + # self.frame.Show() self._copy_and_paste_block((1, 0, 1, 1), (0, 0, 0, 0), [DATA[1]] + DATA[1:]) # Uncomment next lines if you want to see the app # wx.CallLater(5000, self.app.ExitMainLoop) @@ -515,7 +515,7 @@ def _verify_grid_content(self, data): def test_simple_undo(self): self.setup_data() - self.frame.Show() + # self.frame.Show() self._grid.kweditor.SelectBlock(*(0, 0, 0, 0)) self._grid.kweditor.cut() self._grid.kweditor.undo() @@ -576,36 +576,6 @@ def test_htmlpopupwindow_dialog_title(self): wx.CallLater(5000, self.app.ExitMainLoop) # self.app.MainLoop() - def test_htmlpopupwindow_dialog_simple(self): - dlg = HtmlPopupWindow(self.frame, (400, 200), False, True) - dlg.set_content("Example without title") - dlg.show_at((1000, 200)) - shown=dlg.IsShown() - print(f"DEBUG: test_z_kweditor.py: test_htmlpopupwindow_dialog_simple shown={shown}") - assert shown is True - wx.CallLater(4000, dlg.hide) - # Uncomment next lines if you want to see the app - wx.CallLater(5000, self.app.ExitMainLoop) - # self.app.MainLoop() - - def test_htmlpopupwindow_dialog_title(self): - dlg = HtmlPopupWindow(self.panel, (400, 200), True, True) - dlg.set_content("Example with title", "This is the Title") - dlg.show_at((1000, 100)) - shown=dlg.IsShown() - assert shown is True - pw_size = dlg.pw_size - pw_pos = dlg.screen_position - print(f"DEBUG: test_z_kweditor.py: test_htmlpopupwindow_dialog_title pw_size={pw_size} scree_pos={pw_pos}") - event=wx.KeyEvent() - dlg._detach(event) - title = dlg._detached_title - print(f"DEBUG: test_z_kweditor.py: test_htmlpopupwindow_dialog_title title={title}") - wx.CallLater(4000, dlg.hide) - # Uncomment next lines if you want to see the app - wx.CallLater(5000, self.app.ExitMainLoop) - # self.app.MainLoop() - def test_contentassist_text_editor(self): suggestions = SuggestionSource(None, self.app.project.controller) dlg = ContentAssistTextEditor(self._grid.kweditor, suggestions, (400, 400)) From 70e68eee86046a03de38f2df6d00091b9d15e7f0 Mon Sep 17 00:00:00 2001 From: HelioGuilherme66 Date: Mon, 20 Apr 2026 11:40:45 +0100 Subject: [PATCH 07/11] Skip some tests on Windows, editor/test_z_kweditor_plugin --- utest/editor/test_z_kweditor_plugin.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/utest/editor/test_z_kweditor_plugin.py b/utest/editor/test_z_kweditor_plugin.py index dbfef55b2..bafcb566d 100644 --- a/utest/editor/test_z_kweditor_plugin.py +++ b/utest/editor/test_z_kweditor_plugin.py @@ -333,9 +333,10 @@ def test_show(self): show = self._grid.kweditor.has_focus() assert show # is not None # Uncomment next lines if you want to see the app - wx.CallLater(5000, self.app.ExitMainLoop) + wx.CallLater(9000, self.app.ExitMainLoop) self.app.MainLoop() + @pytest.mark.skipif(sys.platform=='win32', reason="On Windows causes: Windows fatal exception: access violation") def test_on_comment_cells(self): self.setup_data() # self.frame.Show() @@ -408,6 +409,7 @@ def test_cut_row(self): # wx.CallLater(5000, self.app.ExitMainLoop) # self.app.MainLoop() + @pytest.mark.skipif(sys.platform=='win32', reason="On Windows causes: Windows fatal exception: access violation") def test_cut_block(self): self.setup_data() # self.frame.Show() From a2700a37c5e50e13d76493f474c5898fb30e52ff Mon Sep 17 00:00:00 2001 From: HelioGuilherme66 Date: Mon, 20 Apr 2026 12:03:03 +0100 Subject: [PATCH 08/11] Skip some tests on Windows, application/test_updatenotifier --- utest/application/test_updatenotifier.py | 1 + 1 file changed, 1 insertion(+) diff --git a/utest/application/test_updatenotifier.py b/utest/application/test_updatenotifier.py index f8c1300ad..c31601e6a 100644 --- a/utest/application/test_updatenotifier.py +++ b/utest/application/test_updatenotifier.py @@ -204,6 +204,7 @@ def test_last_update_done_less_than_a_week_ago(self): self.assertEqual(original_time, settings[LASTUPDATECHECK]) self.assertFalse(self._callback_called) + @pytest.mark.skipif(IS_WINDOWS, reason="On Windows causes: Windows fatal exception: access violation") def test_check_for_updates_is_false(self): # self.app = MyApp() print(f"DEBUG: test_check_for_updates_is_false app={self.app} app.frame={self.app.frame} self.frame={self.frame}") From e4ff3a77959e3f0bd89465f975be0c18fecac28c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9lio=20Guilherme?= Date: Mon, 20 Apr 2026 23:42:04 +0100 Subject: [PATCH 09/11] Feature/issue 2539 tags comment field v2 (#168) * Add Comment field for tags section Closes #2539 * Add visible searching indicator to Find Usages dialog (#3025) Closes #2672 The 'searching...' indicator is now shown as the first row in the results table, making it more visible to users who focus on the table rather than the dialog title. * New translations ride.pot (Russian) (#3038) * Improve PR Add Comment field for tags section #3036 --------- Co-authored-by: ChelSlava --- CHANGELOG.adoc | 1 + README.adoc | 2 +- src/robotide/application/releasenotes.py | 3 +- src/robotide/editor/settingeditors.py | 69 +++++++++++++++++++++++- src/robotide/editor/tags.py | 40 ++++---------- src/robotide/version.py | 2 +- 6 files changed, 81 insertions(+), 36 deletions(-) diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index e59c7491c..09dea5e70 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -9,6 +9,7 @@ and this project adheres to http://semver.org/spec/v2.0.0.html[Semantic Versioni == https://github.com/robotframework/RIDE[Unreleased] === Added +- Added comments field to show comments in Tags section of Test Suites in Grid Editor. - Added Auto-Save feature. Default is disabled with setting zero minutes in Preferences->Save. - Added option on Tree (Project Explorer) context menu, to *Sort Keywords (Case Insensitive)*. - Added on Text Editor, (Preferences->Text Editor) option to *Enable visible spaces* configurable with ``enable visible spaces`` in settings.cfg, with default ``True``. diff --git a/README.adoc b/README.adoc index c40d0db14..78782ab2e 100644 --- a/README.adoc +++ b/README.adoc @@ -46,7 +46,7 @@ Likewise, the current version of wxPython, is 4.2.5, but RIDE is known to work w `pip install -U robotframework-ride` -(3.9 <= python <= 3.14) Install current development version (**2.2.3dev8**) with: +(3.9 <= python <= 3.14) Install current development version (**2.2.3dev9**) with: `pip install -U https://github.com/robotframework/RIDE/archive/develop.zip` diff --git a/src/robotide/application/releasenotes.py b/src/robotide/application/releasenotes.py index 43af0c88d..0f6f1e0c6 100644 --- a/src/robotide/application/releasenotes.py +++ b/src/robotide/application/releasenotes.py @@ -179,6 +179,7 @@ def set_content(self, html_win, content):

    New Features and Fixes Highlights