From 440c933f8cf89a6885b41fcddbdd29df92b91c86 Mon Sep 17 00:00:00 2001 From: w3lld1 <42353747+w3lld1@users.noreply.github.com> Date: Fri, 17 Jul 2026 08:28:46 +0200 Subject: [PATCH 1/7] fix: recognize variable-width space separators --- src/robotide/lib/robot/parsing/robotreader.py | 26 +++++-------------- utest/lib/robot/parsing/test_robotreader.py | 17 ++++++++++++ 2 files changed, 24 insertions(+), 19 deletions(-) create mode 100644 utest/lib/robot/parsing/test_robotreader.py diff --git a/src/robotide/lib/robot/parsing/robotreader.py b/src/robotide/lib/robot/parsing/robotreader.py index 475ca3d11..e2caf5197 100644 --- a/src/robotide/lib/robot/parsing/robotreader.py +++ b/src/robotide/lib/robot/parsing/robotreader.py @@ -170,23 +170,11 @@ def check_separator(self, line): return if not self._cell_section: return - spc = idx = nospc = 0 - for idx in range(0, len(line)): - if line[idx] != ' ': - nospc += 1 - # if spc <= 2: - # spc = -1 - # - if spc >= 2: - break - spc = 0 - elif line[idx] == ' ': # and nospc > 0: - spc += 1 - if nospc > 0 and spc < 2: # We need a step, not test case or kw name (nospc == 0 and spc <= 2 or ) + content = line.lstrip(' \t\xa0') + separator = re.search(r"[ \xa0]{2,}|\t+", content) + if not separator: return - spc = max(2, spc) - if 2 <= spc <= 10: # This max limit is reasonable - self._spaces = spc - self._space_splitter = re.compile(r"[ \t\xa0]{" + f"{self._spaces}" + "}|\t+") - self._separator_check = True - # print(f"DEBUG: RFLib RobotReader check_separator changed spaces={self._spaces}") + self._spaces = max(2, len(separator.group())) + self._space_splitter = re.compile(r"[ \xa0]{2,}|\t+") + self._separator_check = True + # print(f"DEBUG: RFLib RobotReader check_separator changed spaces={self._spaces}") diff --git a/utest/lib/robot/parsing/test_robotreader.py b/utest/lib/robot/parsing/test_robotreader.py new file mode 100644 index 000000000..5e54b4714 --- /dev/null +++ b/utest/lib/robot/parsing/test_robotreader.py @@ -0,0 +1,17 @@ +from robotide.lib.robot.parsing.robotreader import RobotReader + + +def test_reads_two_space_separators_when_four_spaces_are_configured(): + reader = RobotReader(spaces=4, lang=["en"]) + reader.check_separator("*** Test Cases ***") + reader.check_separator("First test case") + row = " Keyword with two arguments arg1 arg2" + + reader.check_separator(row) + + assert reader.split_row(row) == [ + "", + "Keyword with two arguments", + "arg1", + "arg2", + ] From 1eb76c203c7b66f9e964d8c20c89476a675ef165 Mon Sep 17 00:00:00 2001 From: HelioGuilherme66 Date: Sat, 18 Jul 2026 13:34:01 +0100 Subject: [PATCH 2/7] Fix auto-save test --- utest/ui/test_mainframe.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utest/ui/test_mainframe.py b/utest/ui/test_mainframe.py index d9ed57530..09ea1a42c 100644 --- a/utest/ui/test_mainframe.py +++ b/utest/ui/test_mainframe.py @@ -182,7 +182,7 @@ def is_dirty(): class FakeBeforeSaving: def __init__(self, auto=True): self.auto = auto - + def publish(self): calls.append("publish") From 3946a78d424cc877dd0c3859eb79389f0849eddb Mon Sep 17 00:00:00 2001 From: HelioGuilherme66 Date: Sat, 18 Jul 2026 14:22:58 +0100 Subject: [PATCH 3/7] Improve tests of texteditor --- utest/editor/test_texteditor.py | 20 ++++++-------------- utest/ui/test_mainframe.py | 2 +- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/utest/editor/test_texteditor.py b/utest/editor/test_texteditor.py index b1840bc45..9fc228fbf 100644 --- a/utest/editor/test_texteditor.py +++ b/utest/editor/test_texteditor.py @@ -804,16 +804,12 @@ def test_on_find_and_backwards(self): @pytest.mark.skipif(os.sep == '\\', reason="Causes exception on Windows") def test_words_cache_and_collect_words(self): - # editor = self.plugin._editor_component - editor = self._open_wrapped() + editor = self.plugin._editor_component assert editor.collect_words('') == [''] words = editor.collect_words('Log ${var} Message\nRun Keyword') assert 'Log' in words assert 'Message' in words - assert '${var}' in words - assert 'Run' in words - assert 'Keyword' in words - # assert '${var}' not in words # stripped variable is not alpha-leading in cache + assert '${var}' not in words # stripped variable is not alpha-leading in cache assert texteditor.SourceEditor.var_strip('${var}') == 'var' editor.source_editor.set_text('Some Keyword argument') cached = editor.words_cache(editor.source_editor.GetLineCount()) @@ -821,15 +817,13 @@ def test_words_cache_and_collect_words(self): @pytest.mark.skipif(os.sep == '\\', reason="Causes exception on Windows") def test_content_save_not_dirty(self): - # editor = self.plugin._editor_component - editor = self._open_wrapped() + editor = self.plugin._editor_component editor.mark_file_dirty(False) assert editor.content_save(auto=False) is True @pytest.mark.skipif(os.sep == '\\', reason="Causes exception on Windows") def test_revert_and_reset(self): - # editor = self.plugin._editor_component - editor = self._open_wrapped() + editor = self.plugin._editor_component original = editor.source_editor.GetText() editor.source_editor.set_text(original + '\nExtra line') editor.revert() @@ -838,8 +832,7 @@ def test_revert_and_reset(self): @pytest.mark.skipif(os.sep == '\\', reason="Causes exception on Windows") def test_mark_file_dirty_toggles_data(self): - # editor = self.plugin._editor_component - editor = self._open_wrapped() + editor = self.plugin._editor_component editor.mark_file_dirty(True) assert editor.dirty is True editor.mark_file_dirty(False) @@ -847,8 +840,7 @@ def test_mark_file_dirty_toggles_data(self): @pytest.mark.skipif(os.sep == '\\', reason="Causes exception on Windows") def test_datafilewrapper_content_and_dirty(self): - # editor = self.plugin._editor_component - editor = self._open_wrapped() + editor = self.plugin._editor_component wrapper = editor._data assert isinstance(wrapper, texteditor.DataFileWrapper) content = wrapper.content diff --git a/utest/ui/test_mainframe.py b/utest/ui/test_mainframe.py index 09ea1a42c..d9ed57530 100644 --- a/utest/ui/test_mainframe.py +++ b/utest/ui/test_mainframe.py @@ -182,7 +182,7 @@ def is_dirty(): class FakeBeforeSaving: def __init__(self, auto=True): self.auto = auto - + def publish(self): calls.append("publish") From 9786d214a0b6ee19c27d33ca78b4a59f6ee1ff5a Mon Sep 17 00:00:00 2001 From: HelioGuilherme66 Date: Sun, 19 Jul 2026 02:56:24 +0100 Subject: [PATCH 4/7] Fix unit tests. Undo test failing at Text Editor --- utest/editor/test_texteditor.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/utest/editor/test_texteditor.py b/utest/editor/test_texteditor.py index 9fc228fbf..b1840bc45 100644 --- a/utest/editor/test_texteditor.py +++ b/utest/editor/test_texteditor.py @@ -804,12 +804,16 @@ def test_on_find_and_backwards(self): @pytest.mark.skipif(os.sep == '\\', reason="Causes exception on Windows") def test_words_cache_and_collect_words(self): - editor = self.plugin._editor_component + # editor = self.plugin._editor_component + editor = self._open_wrapped() assert editor.collect_words('') == [''] words = editor.collect_words('Log ${var} Message\nRun Keyword') assert 'Log' in words assert 'Message' in words - assert '${var}' not in words # stripped variable is not alpha-leading in cache + assert '${var}' in words + assert 'Run' in words + assert 'Keyword' in words + # assert '${var}' not in words # stripped variable is not alpha-leading in cache assert texteditor.SourceEditor.var_strip('${var}') == 'var' editor.source_editor.set_text('Some Keyword argument') cached = editor.words_cache(editor.source_editor.GetLineCount()) @@ -817,13 +821,15 @@ def test_words_cache_and_collect_words(self): @pytest.mark.skipif(os.sep == '\\', reason="Causes exception on Windows") def test_content_save_not_dirty(self): - editor = self.plugin._editor_component + # editor = self.plugin._editor_component + editor = self._open_wrapped() editor.mark_file_dirty(False) assert editor.content_save(auto=False) is True @pytest.mark.skipif(os.sep == '\\', reason="Causes exception on Windows") def test_revert_and_reset(self): - editor = self.plugin._editor_component + # editor = self.plugin._editor_component + editor = self._open_wrapped() original = editor.source_editor.GetText() editor.source_editor.set_text(original + '\nExtra line') editor.revert() @@ -832,7 +838,8 @@ def test_revert_and_reset(self): @pytest.mark.skipif(os.sep == '\\', reason="Causes exception on Windows") def test_mark_file_dirty_toggles_data(self): - editor = self.plugin._editor_component + # editor = self.plugin._editor_component + editor = self._open_wrapped() editor.mark_file_dirty(True) assert editor.dirty is True editor.mark_file_dirty(False) @@ -840,7 +847,8 @@ def test_mark_file_dirty_toggles_data(self): @pytest.mark.skipif(os.sep == '\\', reason="Causes exception on Windows") def test_datafilewrapper_content_and_dirty(self): - editor = self.plugin._editor_component + # editor = self.plugin._editor_component + editor = self._open_wrapped() wrapper = editor._data assert isinstance(wrapper, texteditor.DataFileWrapper) content = wrapper.content From 205858301a16c7326239359d43b30c6f4e97589c Mon Sep 17 00:00:00 2001 From: HelioGuilherme66 Date: Tue, 28 Jul 2026 00:58:32 +0100 Subject: [PATCH 5/7] Improve spaces detection in robotreader --- src/robotide/lib/robot/parsing/robotreader.py | 4 ++-- src/robotide/version.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/robotide/lib/robot/parsing/robotreader.py b/src/robotide/lib/robot/parsing/robotreader.py index e2caf5197..2a6c32c01 100644 --- a/src/robotide/lib/robot/parsing/robotreader.py +++ b/src/robotide/lib/robot/parsing/robotreader.py @@ -170,11 +170,11 @@ def check_separator(self, line): return if not self._cell_section: return - content = line.lstrip(' \t\xa0') + content = line.rstrip(' \t\xa0') separator = re.search(r"[ \xa0]{2,}|\t+", content) if not separator: return self._spaces = max(2, len(separator.group())) - self._space_splitter = re.compile(r"[ \xa0]{2,}|\t+") + self._space_splitter = re.compile(r"[ \t\xa0]{" + f"{self._spaces}" + "}|\t+") self._separator_check = True # print(f"DEBUG: RFLib RobotReader check_separator changed spaces={self._spaces}") diff --git a/src/robotide/version.py b/src/robotide/version.py index da25525fc..5c76ade2a 100644 --- a/src/robotide/version.py +++ b/src/robotide/version.py @@ -15,4 +15,4 @@ # # Automatically generated by `tasks.py`. -VERSION = 'v2.2.5dev4' +VERSION = 'v2.2.5dev5' From 9be1bf7f5a2c21f7a3beb2df1ed7b658e7e3f8c5 Mon Sep 17 00:00:00 2001 From: HelioGuilherme66 Date: Tue, 28 Jul 2026 01:35:13 +0100 Subject: [PATCH 6/7] Fix unit test for robotreader --- utest/lib/robot/parsing/test_robotreader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utest/lib/robot/parsing/test_robotreader.py b/utest/lib/robot/parsing/test_robotreader.py index 5e54b4714..9700a68da 100644 --- a/utest/lib/robot/parsing/test_robotreader.py +++ b/utest/lib/robot/parsing/test_robotreader.py @@ -5,7 +5,7 @@ def test_reads_two_space_separators_when_four_spaces_are_configured(): reader = RobotReader(spaces=4, lang=["en"]) reader.check_separator("*** Test Cases ***") reader.check_separator("First test case") - row = " Keyword with two arguments arg1 arg2" + row = " Keyword with two arguments arg1 arg2" reader.check_separator(row) From a9e1bf7d8572c7f24fb8a64dcfff63c53dcc3ba2 Mon Sep 17 00:00:00 2001 From: HelioGuilherme66 Date: Thu, 30 Jul 2026 23:12:53 +0100 Subject: [PATCH 7/7] Improved spaces detection in test suites reader --- CHANGELOG.adoc | 3 ++ README.adoc | 2 +- src/robotide/application/CHANGELOG.html | 48 +++++++++++---------- src/robotide/application/releasenotes.py | 5 ++- utest/lib/robot/parsing/test_robotreader.py | 21 +++++++++ 5 files changed, 53 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 24e0fac47..e9ddb757e 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -12,6 +12,9 @@ and this project adheres to http://semver.org/spec/v2.0.0.html[Semantic Versioni - Fix selection of items (variables, test names, keywords) from Project Explorer and highlight at Text Editor. - Fixed Tab spacing in Text Editor. When pressing tab the expected spaces were not written, causing failing steps. +=== Changed +- Improved spaces detection in test suites reader. + == https://github.com/robotframework/RIDE/blob/master/doc/releasenotes/ride-2.2.4.rst[2.2.4] - 2026-07-09 === Fixed diff --git a/README.adoc b/README.adoc index 7b05c8336..c5575bc72 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.5dev3**) with: +(3.9 <= python <= 3.14) Install current development version (**2.2.5dev5**) with: `pip install -U https://github.com/robotframework/RIDE/archive/develop.zip` diff --git a/src/robotide/application/CHANGELOG.html b/src/robotide/application/CHANGELOG.html index 6c74c5cc1..53fed4734 100644 --- a/src/robotide/application/CHANGELOG.html +++ b/src/robotide/application/CHANGELOG.html @@ -4,15 +4,17 @@ Fix selection of items (variables, test names, keywords) from Project Explorer and highlight at Text Editor.
  • Fixed Tab spacing in Text Editor. When pressing tab the expected spaces were not written, causing failing steps. +
  • _1.2. Changed

    • +Improved spaces detection in test suites reader.

    _2. 2.2.4 - 2026-07-09

    _2.1. Fixed

    • Fixed background assign setting in Grid Editor preferences. -

    _2.2. Changed

    • +

    _2.2. Changed

    • Changed Auto-Save to only save when user is not typing, and if code is in error show message in status bar.
    • Applied STC_LEX colorization on Code Editor (external files editor).

    _3. 2.2.4 - 2026-07-09

    _3.1. Fixed

    • Fixed background assign setting in Grid Editor preferences. -

    _3.2. Changed

    • +

    _3.2. Changed

    • Changed Auto-Save to only save when user is not typing, and if code is in error show message in status bar.
    • Applied STC_LEX colorization on Code Editor (external files editor). @@ -32,13 +34,13 @@ Added on External/Code Editor, both enabled, ``visible spaces`` and ``visible newlines``.

    _4.2. Fixed

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

    _4.3. Changed

    • +

    _4.3. Changed

    • Changed colorization for Control Markers. Different color from Keywords for elements: AND, BREAK, CONTINUE, ELSE, ELSE IF, END, EXCEPT, FINALLY, FOR, GROUP, IF, IN, IN ENUMERATE, IN RANGE, IN ZIP, RETURN, TRY, VAR, WHILE.
    • 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. -

    _5. 2.2.2 - 2026-01-06

    _5.1. Changed

    • +

    _5. 2.2.2 - 2026-01-06

    _5.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.
    • @@ -104,7 +106,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.

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

    _8.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
    @@ -139,7 +141,7 @@
      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. -
  • _12.2. Changed

    • +

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

    _12.3. Fixed

    • Fix cursor position when editing cells in Grid Editor. @@ -164,7 +166,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. -

    _14.2. Changed

    • +

    _14.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 @@ -184,7 +186,7 @@ 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. -

    _15.2. Changed

    • +

    _15.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. @@ -209,7 +211,7 @@ 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. -

    _17. 2.1.1 - 2024-11-14

    _17.1. Changed

    • +

    _17. 2.1.1 - 2024-11-14

    _17.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. @@ -272,7 +274,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.

    _18.2. Changed

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

    _18.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`.
    @@ -360,7 +362,7 @@
     
  • 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. -
  • _19.2. Changed

    • +

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

    _19.3. Fixed

    • Fixed validation of multiple arguments with default values in Grid Editor. @@ -428,7 +430,7 @@ Fixed wrong continuation of long chains of keywords in Setups, Teardowns or Documentation
    • Fixed New User Keyword dialog not allowing empty Arguments field -

    _20.3. Changed

    • +

    _20.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. @@ -477,7 +479,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 -

    _21.3. Changed

    • +

    _21.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 @@ -514,11 +516,11 @@ 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 -

    _22.3. Changed

    • +

    _22.3. Changed

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

    _23. 2.0.6 - 2023-06-10

    _23.1. Added

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

    _23.2. Changed

    • +

    _23.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 @@ -532,11 +534,11 @@ 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. -

    _24.2. Changed

    • +

    _24.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``

    _25. Fixed

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

    _26. 2.0.3 - 2023-04-16

    _26.1. Changed

    • +

    _26. 2.0.3 - 2023-04-16

    _26.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) @@ -613,7 +615,7 @@ - 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

    _28.3. Changed

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

    _28.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.
    @@ -724,7 +726,7 @@
     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`` -
  • _29.2. Removed

    _29.3. Changed

    _29.4. Fixed

    • +

    _29.2. Removed

    _29.3. Changed

    _29.4. Fixed

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

    _30. 2.0b3 - 2023-01-15

    _30.1. Added

    • Added swap row up, by using ``Ctrl-T`` @@ -734,7 +736,7 @@ Added support for editing .robot and .resource files with content before sections

    _30.2. Removed

    • None -

    _30.3. Changed

    • +

    _30.3. Changed

    • Hiding items in Test Suites explorer with names starting with #
    • Disabled the Close button on the Test Suites explorer @@ -821,7 +823,7 @@ Removed alignment flag on grid cell JSON Editor (Ctrl-Shift-J)
    • Removed moving to keyword/variable definition when doing Double-Click in grid cell -

    _31.3. Changed

    • +

    _31.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) @@ -946,7 +948,7 @@ Python 2.7 support
    • wxPython/wxPhoenix version conditioning -

    _32.3. Changed

    • +

    _32.3. Changed

    • Improved filesystem changes detection, with a confirmation dialog to reload workspace
    • Changed dependency on wx.Window on tree panel @@ -1024,7 +1026,7 @@ wxPython version locked up to 4.0.7.post2.

    _33.2. Removed

    • None -

    _33.3. Changed

    • +

    _33.3. Changed

    • None

    _33.4. Fixed

    • None diff --git a/src/robotide/application/releasenotes.py b/src/robotide/application/releasenotes.py index 83429b10d..1673a032c 100644 --- a/src/robotide/application/releasenotes.py +++ b/src/robotide/application/releasenotes.py @@ -167,7 +167,7 @@ def set_content(self, html_win, content): even if used correctly in another local keyword.
    • 🐞 - RIDE DOES NOT KEEP Test Suites formatting or structure, causing differences in files when used on other IDE or Editors. The option to not reformat the file is not working.
    • -
    • 🐞 - The feature Auto-Save may cause a crash of RIDE in certain systems. This was experienced in AlmaLinux 9.6 with Gnome Unity, Python 3.13 and wxPython 4.2.3. The files are correctly saved, but RIDE closes. It is recommended to set the Auto-Save time as zero if this happens.
    • +
    • 🐞 - The feature Auto-Save may cause a crash of RIDE in certain systems. This was experienced in AlmaLinux 9.6 with Gnome Unity, Python 3.13 and wxPython 4.2.3. The files are correctly saved, but RIDE closes. It is recommended to set the Auto-Save time as zero if this happens.
    • 🐞 - In Grid Editor, when showing settings, scrolling down with mouse or using down is not working. You can change to Text Editor and back to Grid Editor, to restore normal behavior.
    • 🐞 - In Files Explorer, when in floating window, the files tree is not always using all available space. @@ -179,6 +179,7 @@ def set_content(self, html_win, content):

    New Features and Fixes Highlights

      +
    • Improved spaces detection in test suites reader.
    • Fix selection of items (variables, test names, keywords) from Project Explorer and highlight at Text Editor.
    • Fixed Tab spacing in Text Editor. When pressing tab the expected spaces were not written, causing failing steps.
    • Changed Auto-Save to only save when user is not typing, and if code is in error show message in status bar.
    • @@ -237,7 +238,7 @@ def set_content(self, html_win, content):
      python -m robotide.postinstall -install

      or

      ride_postinstall.py -install
      -

      RIDE {VERSION} was released on 22/July/2026.

      +

      RIDE {VERSION} was released on 30/July/2026.