Skip to content

Latest commit

 

History

History
2025 lines (976 loc) · 105 KB

CHANGELOG.md

File metadata and controls

2025 lines (976 loc) · 105 KB

Changelog

All notable changes to this project will be documented in this file. See conventional commits for commit guidelines.

0.83.0 - 2024-05-16

Bug Fixes

  • debugger: Fix type annotations for python 3.8 (d2cc421)

Features

  • vscode: Support for highlighning robot code in markdown code blocks (b9de061)

    use the at defining the language in a codeblock you can use robot or robotframework as specifier

0.82.3 - 2024-05-12

Bug Fixes

  • analyse: Allow local variables in [Teardown] (5bab97c)

Testing

0.82.2 - 2024-05-10

Bug Fixes

  • analyse: Correct handling of keyword arguments in all other keyword settings, regardless of the order of the settings. (62f9544)

0.82.1 - 2024-05-09

Bug Fixes

  • runner: --by-longname and --exclude-by-longname now take into account whether a name for the run was set via --name command line argument or in the name setting robot.toml (6f5c719)

Refactor

  • debugger: Some code simplifications (bc97744)

0.82.0 - 2024-05-05

Features

  • vscode: Detection of invalid robot environment now shows a quickpick instead an error message (95a7630)

    In the case RobotCode will initalize the LanguageServer and detect that environment is not valid, means wrong python version, no robotframework installed, instead an error message pops up a quickpick pops up, where you can do different things, like select a differnt interpreter, create a new venv, ignore this for the moment. The advantage of this way is, that this also works with extensions like Pyhton Manger and so on

0.81.0 - 2024-05-03

Bug Fixes

  • debugger: Rework async code in debugger and some other little quitrks in debugger, like hiding the debugger thread when debuggin python code (d7fe611)

Features

  • vscode: Get debugpy debuggerpackagepath from ms-python.debugpy extension (9a00d0c)

0.80.0 - 2024-05-01

Features

0.79.0 - 2024-04-21

Bug Fixes

  • debugger: Don't show a message on unsupported rpc commands (504e091)
  • langserver: Normalize path handling should not fully resolve symlinks (0c0198a)

Features

  • langserver: Highlight some formatting tags in documentation like bold and italics for englisch language (4d2cdae)
  • vscode: Add option to disable the vscodes test explorer/execution integration (9332099)

Testing

  • langserver: Update regression tests (4fab1d1)

0.78.4 - 2024-03-20

Bug Fixes

  • robotcode: Add missing robotcode-robot dependency (d9cea02)

0.78.3 - 2024-03-20

Bug Fixes

  • langserver: Add missing robotcode-robot dependency (2d1c99d)

0.78.2 - 2024-03-19

Bug Fixes

  • tidy: Make robotframework-tidy 4.11 running (569dbe8)

0.78.1 - 2024-03-15

Bug Fixes

  • analyze: If a imported resource has import errors it is shown as releated information (caf8541)
  • langserver: Hovering over EMPTY builtin variable respects the type and shows correct empty values (c8b66c8)
  • profiles: Profiles inherited by [profile].inherit are now merged before the parent profile, unless the precedence is set and are only enabled if the parent profile is enabled (318d780)

0.78.0 - 2024-03-07

Bug Fixes

  • vscode: Some corrections in environment variable highlightning (8936bfb)

Features

  • vscode: Python syntax highlightning in IF and WHILE statements (c56def3)

    implements a part of #230

Testing

  • Fix some regression tests (6001e30)

0.77.1 - 2024-03-06

Bug Fixes

  • vscode: Correct some things in bracket highlightning and coloring (6c584dc)

0.77.0 - 2024-03-05

Bug Fixes

  • diagnostics: Resolving variables does not work for builtin vars at library import (6b97730)

Features

  • vscode: Enable bracket coloring and matching in keyword arguments (45243e5)

  • vscode: Python syntax highlightning in ${{}} expressions (adf3627)

    this implements a part of #230

Testing

  • Update regression some tests (f01d37e)
  • Fix some regression tests (cb420ad)

0.76.2 - 2024-03-01

Bug Fixes

  • cli: Add missing plugin package (66982bd)

0.76.1 - 2024-02-29

Bug Fixes

  • core: Avoid iterator changes during Event.notify when adding or removing new event handlers (ccc5faf)
  • core: Send cache_invalidate events before and after locking to avoid deadlocks (5f06377)
  • langserver: Sometimes an exception in evaluating variables in expressions occurs (bd9bcfd)
  • langserver: Change keywords treeview rpc methods to non async (f85621a)

Performance

  • langserver: Optimize analysing and collecting diagnostics (065db06)

0.76.0 - 2024-02-19

Bug Fixes

  • langserver: Add duplicated imports to references (e603628)
  • langserver: Correct variable handling from resource imports (619eee4)
  • vscode: Correct resolving resource documentation in keywords treeview (2935bb8)

Features

  • langserver: Introduce new setting robotcode.analysis.cache.ignoreArgumentsForLibrary (bb55ff4)

    This is usefull if you have library that get's variables from a python file that contains complex data like big dictionaries or complex objects that robotcode can't handle.

  • marketplace: Create a Q&A discussion category on github (605377d)

    as a second way to ask questions and collect answers about robotcode I created a discussion group on the RobotCode github repository

  • vscode: Use the official python extension api to get informations about python environments (c032814)

    closes [ENHANCEMENT] Integrate new Python Extension API #215

Performance

  • analyzer: Optimization of the analysis of imports, accelerated by a factor of 3 (321b88d)
  • langserver: Try to use the last initialized namespace for completions to be a bit more responsive (2c6fe37)

0.75.0 - 2024-02-13

Bug Fixes

  • debugger: Correct wrong lineno informations from robot in listener start_(test/suite/keyword) lineno is None (b4f9c5c)

    If RobotFramework executes a test case, keyword or so, where the line number is not set internally, i.e. None, it generates an empty string for the line number in the listener instead of also passing None. This rarely happens, but it does occur.

  • debugger: Fix some small glitches when robot is terminated but the Vscode is not fast enough to notice it ;-) (5fdb0d7)

Features

  • vscode: Debugger now uses the new Python Debugger extension as default debugger for python (aab6b6d)

    Microsoft rewrites the debugger extension for python and this will be the new standard extension for debugging python code. see here

0.74.0 - 2024-02-12

Bug Fixes

  • debugger: Filling zeros are now added to the name of an element so that elements are sorted correctly in the variable view at debugging time (456ab2c)

  • debugger: Add BuiltIn.Run Keyword And Return Status to the list of keywords that caught exceptions on inner keywords (add8297)

  • langserver: Correct importing variables with the same filename (e1ac0cb)

    closes [BUG] Variables from variable files are often displayed as not found #214

  • robot: Handle OSErrors if creating/reading user robot.toml (470b438)

    should fix: #187

Features

  • vscode: Organize vscode settings in groups (9bbe68b)

0.73.3 - 2024-02-07

Bug Fixes

  • discover: Update run buttons doesn't work on typing (5f8a890)

0.73.2 - 2024-02-07

Bug Fixes

  • discover: Discover files when robot arguments with relative files are now read correctly (d12c67c)

Documentation

  • Update versions in README (d6c6f09)

0.73.1 - 2024-02-05

Bug Fixes

  • langserver: Don't show deprecation message for tags starting with an hyphen in RF7 (d510a65)

    fixes [BUG] #212

0.73.0 - 2024-02-05

Bug Fixes

  • discover: Don't show an error if no tests or suite are found (f57b065)
  • vscode: Trim and shorten long names and descriptions in Select Configuration Profiles command (8abcb67)
  • vscode: Stabilized recreation of test explorer items if folders are deleted (370ff84)

Features

  • vscode: Introduce robotcode contribution point for vscode extensions plugins (6519687)

0.72.0 - 2024-02-01

Bug Fixes

  • profiles: Enhanced error handling if invalid profile is given (c3d8b07)

Features

  • profiles: Enhanced handling of environment variables in profile settings (37fdbb3)

    This update allows the setting, overriding, and utilization of system environment variables in expressions and conditions within the robot.toml configuration files. This enhancement increases the flexibility and adaptability of profile configurations.

  • profiles: Profiles prefixed with an underscore (_) are now automatically hidden in profiles list command (97bf390)

  • profiles: A profile can now be hidden and inherit from other profiles (9cd2ffb)

  • vscode: Show profiles from robot.toml in test explorer as test profile (fcb32a7)

0.71.1 - 2024-01-30

Bug Fixes

  • diagnostics: Library doc are now correctly unloaded when they are no longer needed (df6762a)
  • vscode: Remove unneeded "test" badge on the explorer icon (4f012b4)

Performance

  • langserver: Remove unneeded double caching of library imports (3de0882)

Refactor

  • core: Add locks with default_timouts in documents actions (5eab74e)

0.71.0 - 2024-01-27

Features

  • analyzer: Introduce robotcode.analysis.robot.globalLibrarySearchOrder setting to specify a global search for libs and resources (9d34ed4)

    Implemented this, because analyse Set Library Search Order is to hard.

0.70.0 - 2024-01-26

Bug Fixes

  • analyzer: Correct resolving variables declared with the new VAR statement and a scope (a259ec6)
  • debugger: Fix some things in debugger to better support Robot Framework version 7.0 (a81695c)
  • langserver: Correct minimum robot version in version check (f33c80a)

Features

  • vscode: Simple drag'n drop keywords from keywords view to text editor (6093387)

0.69.0 - 2024-01-24

Bug Fixes

  • langserver: Display the return type in hover only when it is explicitly defined (3fa09a7)
  • runner: Environment vars are evaluated to late (f74ea4a)

Features

  • langserver: Start the internal HTTP server only on demand (2254156)

    You can disable this behaviour with the new option robotcode.documentationServer.startOnDemand.

  • vscode: New keywords tree view in the explorer sidebar (c0495e6)

0.68.5 - 2024-01-21

Bug Fixes

  • langserver: Filewatcher does not work (5b72148)

0.68.4 - 2024-01-20

Bug Fixes

  • langserver: Start langserver should not raise a TypeError if startet with no config (5eca367)

Documentation

  • Change description of package (f6a4f79)
  • Create CONTRIBUTING.md and review CODE_OF_CONDUCT.md (a107b95)

Refactor

  • langserver: Remove unused maxProjectFileCount setting (4f4ad31)
  • langserver: Move TextDocument from langserver to core package, some other simple refactorings (d60977b)
  • Move diagnostics helper code to robotcode.robot package (c94edb3)

0.68.3 - 2024-01-11

Bug Fixes

  • langserver: Completion in templated test cases should not show keywords and such things (621c70a)
  • langserver: Generate libdoc spec generation for RFW 7 (e259c86)
  • vscode: Open a result file or view documention does not work in CodeSpaces (0020ddf)

0.68.2 - 2024-01-10

Bug Fixes

  • langserver: Correct highlight ranges for hover (d0e4091)

  • langserver: Goto and implementation sometimes return to many wrong results on import statements (3798c5e)

  • langserver: Preventing extensive calls to 'workspace/configuration' through caching (77db502)

  • langserver: Langserver that sometimes hangs, 'loop is not running' or 'lock take to long' messages (37d8119)

    Rewrote and refactor diagnostics and refreshing part to use normal threads and not async. This should also bring a better performance for bigger projects, but maybe this needs some more optimizations.

  • langserver: Speedup diagnostics, unused references and codelenses updates (e13641e)

  • langserver: Stabilize workspace diagnostics (185b551)

Refactor

  • langserver: Remove async from robotcode langserver analytics (1ff1e44)
  • langserver: Remove AsyncVisitor code (c9aaa60)
  • langserver: Implement cancelable threads and remove async code from definition, implementations, hover, folding (2fae8e3)
  • langserver: Remove HasExtendCapabilities protocol and implement the method directly, extend threaded decorator (b76eb0f)
  • langserver: Remove async code from document_highlight and document_symbols, add regression tests for document_symbols (755daf7)
  • langserver: Move local import to global imports in document_symbols (135b0d4)
  • langserver: Remove async code from code actions (87cb416)
  • langserver: Remove async code from completions (5009202)
  • langserver: Some parameter renaming (a2bddf9)
  • langserver: Move core.utils.threading to core.concurrent and rename some function (faee359)
  • langserver: Remove async code from code lens (204624c)
  • langserver: Remove async code from commands (58f185b)
  • langserver: Remove async code from formatting and some import corrections (2f25c78)
  • langserver: Remove async code from inlay hints (7535bfa)
  • langserver: Remove async code from inline value (4e1b23c)
  • langserver: Remove async code from diagnostics, selection range, workspace, signature help (0c38843)
  • langserver: Remove async code from rename (15e409d)
  • langserver: Remove async code from semantic tokens (3adddd1)
  • langserver: Correct refresh handling and remove some unneeded code (3f3944f)
  • langserver: Remove threaded decorator from rpc methods and introduce a threaded property for the rpc_method decorator (b478ae3)
  • langserver: Rename core.concurrent.FutureEx to Task (d75eb9a)
  • robotcode: Move threaded decorator to the new core.utils.threading module (96b897b)
  • Remove some unneeded code (65e1775)
  • Move most of langserver...ast_utils to robotcode.robot.utils.ast (bc96805)
  • Move language_server.robotframework.utils to robotcode.robot package (6fe4dc0)
  • Move some diagnostics code from langserver package to robot package (4b3e65c)

Testing

  • Add RFW 7.0 to devel and test matrix (cd35020)
  • Try to stablize regression tests (19419b3)
  • Enable RFW 7.0 tests in github workflow (6a39f66)
  • Another try to stabilize regression tests (91d4d48)

0.68.1 - 2023-12-21

Bug Fixes

  • robotcode: Add missing robotcode-plugin dependency (570232d)
  • robotcode: Catch OSError's if we can't create the default robot.toml config file (6dd5f9e)

0.68.0 - 2023-12-20

Bug Fixes

  • langserver: Correct duplicate items in completions (023bfd7)

Features

  • Support for new keyword model changes in RFW 7 (cb306cb)

Refactor

  • core: Move some files from core to utils (92c1911)
  • debugger: Move import in cli handler in to cli function (c96a321)

0.67.0 - 2023-12-13

Bug Fixes

  • langserver: Correted folding of IF blocks with multiple ELSE/ELSE IF's (536db5e)
  • langserver: Unbound local variable in imports manager (6d7b3d2)
  • vscode: Don't show diagnostics when discover tests from a single file (25024ac)

Features

  • cli: Introduce a command line switch to log to a file (7a6b8af)
  • debugger: Lighter color for timestamps and respect the `--no-color' command line switch to disable colored output (6f12eed)

Refactor

  • langserver: Make documents handling synchronous and more threadsafe (d1c72c2)
  • langserver,jsonrpc: Use concurrent.futures.Future to send request, make register_capabilities syncronous (41f495b)

Testing

  • langserver: Fix some regression tests (0016ef6)
  • langserver: Fix some regression tests (fec9542)
  • langserver: Fix some more regression tests (a399bd6)

0.66.1 - 2023-11-24

Bug Fixes

  • langserver: Show a hint instead an error if there are variables used in a test case name (6589b71)

0.66.0 - 2023-11-23

Bug Fixes

  • langserver: Handle unwanted warning messages at libdoc generation for robot files (ce20bf5)

Features

  • langserver: Implemented deprecation warning for old [RETURN] setting for RF 7 (40a5e42)

0.65.1 - 2023-11-23

Refactor

  • debugger: Use concurrent.futures for sending request instead of asyncio.Futures (dc06c2c)

0.65.0 - 2023-11-22

Features

  • langserver: Support for new VAR statement in RF7 (2678884)
  • langserver: Added new return type information of keyword from libdoc to documentation hover (b91f2ff)

Refactor

  • jsonrpc: Use concurrent.Futures instead of asyncio.Futures for request (50384dc)
  • Some code cleanup and simplifications (f799fb4)
  • Move markdown formatter to robotcode.robot.utils (5a22bef)

0.64.1 - 2023-11-20

Bug Fixes

  • Correct creating run profiles if you use a single workspace folder (e5430ec)

0.64.0 - 2023-11-19

Bug Fixes

  • cli: Add missing dependency (9c6ed1f)
  • langserver: Signature help and markdown documentation for arguments without type for RF7 (d67b2a0)
  • langserver: Support for clients that do not implement pull diagnostics, e.g. neovim (ced5372)
  • langserver: Correct detection of valid nodes in quickfixes for TRY/EXCEPT statements in RF5 (1bcef86)
  • Correct completion of argument types for RF7 (dbca774)
  • Some small glitches in semantic highlightning (39b658f)

Documentation

  • Correct some command line descriptions (c0e2536)
  • Correct some docs for CLI interface (7bc7099)

Features

  • langserver: Colorize new VAR token for RF7 (3cd27b2)

  • langserver: Add completions and new snippets for the new VAR statement for RF7 (5631a1b)

  • vscode: Support for creating test profiles in vscodes test explorer (8c0e889)

    In launch.json you can create a new entry with purpose test-profile this entry is show in the "run tests" and "debug tests" drop down and can be selected by right click on a test end then "Execute Using Profile..." entry. This profile is then used instead of the default test launch config with the purpose test

    Example

    {
        "name": "Test Environment",
        "type": "robotcode",
        "purpose": "test-profile",
        "request": "launch",
        "presentation": {
            "hidden": true
        },
        "variables": {
            "TEST_PROFILE_VAR": "TEST_PROFILE_VALUE"
        }
    }

Refactor

  • cli: Move --(no)-diagnostic switch to the discover command (9ed33c9)
  • Remove inner imports from analyzer (470bcff)
  • Some code simplifications (fbec326)

0.63.0 - 2023-11-12

Bug Fixes

  • langserver: Simplify code for variables and library completions (256d7aa)

Documentation

  • Add some new logo ideas (e468a0f)

Features

  • First support for RF 7 (bd704c2)

    start implementing #177

Refactor

  • vscode: Detection and running of python from vscode (6000edb)
  • Remove unused code and update dependencies (4c2d1f7)

0.62.3 - 2023-10-31

Bug Fixes

  • langserver: Correction of escaped characters and variables highlighting in import names (22ef5f3)
  • langserver: Correct handling of imports containing backslashes, in RobotFramework you have to escape them (097c28b)

0.62.2 - 2023-10-28

Bug Fixes

  • langserver: Resolving of ${EXECDIR} and ${CURDIR} corrected (32a1492)

0.62.1 - 2023-10-28

Bug Fixes

  • langserver: Single resource file with different relative paths is not seen as same file (0c2a08f)

0.62.0 - 2023-10-27

Features

  • langserver: Support for importing libraries of multiple classes from a module (35c9775)
  • Do not use pathlib.Path.resolve because it is slow and we don't need to resolve links (85c3dc1)

Testing

  • Correct some regression tests (6031f48)

0.61.7 - 2023-10-25

Performance

  • langserver: Increase performance of visitor a little bit more (a257b90)

0.61.6 - 2023-10-20

Bug Fixes

  • langserver: Correct handling of imports with the same namespace name (c65e98d)

    hover, semantic hightlightning, references are aware of the current keyword call namespace if given

Refactor

  • langserver: Make package import relativ (91513c5)

0.61.5 - 2023-10-19

Bug Fixes

  • langserver: Correct highlight, completion, analyze, etc. keyword calls with . that are also valid namespaces (42fe633)

0.61.4 - 2023-10-15

Bug Fixes

  • discover: Normalize tags in tests command and sort tags (cf1159c)
  • langserver: Complete keywords containing . if there is no namespace with the name before the dot (5fc3104)

Documentation

  • Optimize some config descriptions (88ee386)

Performance

  • langserver: Speedup Visitor and AsyncVisitor a little bit (3d8a22d)

0.61.3 - 2023-10-10

Performance

  • core: Improve perfomance of converting dataclasses to json (dfb576e)
  • core: Increase performance of dataclasses.from_dict (a41cfb3)

0.61.2 - 2023-10-07

Bug Fixes

0.61.1 - 2023-10-07

Bug Fixes

  • langserver: Correct handling of robotcode.robocop.configurations setting (9dc690e)

Performance

  • Some more performance corrections for as_dict (3212c71)

0.61.0 - 2023-10-07

Documentation

  • Update json schema and doc for robot.toml file (f7c0693)

Features

  • discovery: Add more options for discovering tags and tests (508b517)
  • robotcode: Rename extra- prefix to extend- in robot.toml files (d4747e2)
  • robotcode: Better formatting and include active, selected, enabled state of a profile in profile list command (850c751)

Performance

  • Optimize performance of as_dict for dataclasses (2b4ce26)

0.60.0 - 2023-10-04

Features

  • robotcode: Introduce plugin spec for configuration classes (582e360)
  • robotcode: Add Path to allowed GLOBALS in config expressions (66aea74)

0.59.0 - 2023-09-28

Features

  • langserver: All refactorings and quickfixes are now previewable (40e9d92)

    when you select a quickfix or refactoring with CONTROL+RETURN a refactor preview window is shown.

0.58.0 - 2023-09-26

Features

  • langserver: Code action - extract keyword (9f92775)
  • vscode: Update to vscode-languageclient to 9.0, now we need at least a vscode version >=1.82 (d8591b1)

0.57.4 - 2023-09-24

Bug Fixes

  • langserver: Correct "Create keyword" quick fix to ignore empty lines when inserting text (12af94d)

0.57.3 - 2023-09-23

Bug Fixes

  • langserver: Some correction at line and file endings for signature help (782bfe6)
  • langserver: Only show valid headers in resource and init.robot file at completion (674040a)

0.57.2 - 2023-09-20

Bug Fixes

  • langserver: Don't show argument completion if the cursor is in a keyword assignment (3c5a797)
  • langserver: Don't show surround code action if we have selected template arguments (59a0114)

0.57.1 - 2023-09-19

Bug Fixes

  • langserver: Correct some completion quirks at line or file ends (080ab83)
  • langserver: Correct some in refactor surrounding quirks at file ends (082132c)

0.57.0 - 2023-09-17

Features

  • langserver: Quick fixes for code actions are generated for all diagnostics specified in the request, and quick fixes are generated with the name of the variable or keyword in the label. (c2b8f5a)
  • langserver: Improved quickfix create keyword can now add keywords to resource files if valid namespace is given (9499d43)
  • New code action refactor rewrite: surroundings for TRY/EXCEPT/FINALLY (fdba5b9)

Refactor

  • langserver: Move code action assign result to variable to refactorings (b8efd1d)

0.56.0 - 2023-09-11

Documentation

  • Fix some comments in changelog and add some more todos (dc71f0e)

Features

  • langserver: New code action quick fixes - assign kw result to variable, create local variable, disable robot code diagnostics for line (bba00aa)
  • langserver: New code action quick fix - create suite variable (4c03a80)
  • langserver: New code action quick fix - Add argument (a21c05b)

Refactor

  • langserver: Move all error messages to one place (125c091)

Testing

  • Update code action show documentation test cases (1c333d3)

0.55.1 - 2023-09-06

Bug Fixes

  • debugger: Correct update of test run results when suite teardown fails or is skipped during suite teardown for RF 4.1 (65d67ca)

    this is a follow up to 80b742e

0.55.0 - 2023-09-05

Bug Fixes

  • Update of RobotCode icon in status bar when Python environment is changed (161806c)
  • Don't complete arguments for run keywords (38698ed)
  • Correct handling of @ variable and & dictionary arguments in signature help and completion (4415387)

Features

  • langserver: Better completion for variable imports (1602b71)
  • Support for robocop 4.1.1 code descriptions (a5a0d4c)

Refactor

  • Move code_actions and support unions with enums and string in dataclasses (b9a3f10)

0.54.3 - 2023-09-02

Bug Fixes

  • langserver: Correct some styles for semantic highlightning (89eeeb4)
  • langserver: Change scope name of argument tokens to allow better automatic opening of completions (4f144c4)
  • langserver: Dont show values in completions if the token before is an named argument token (26c6eda)

0.54.2 - 2023-09-02

Bug Fixes

  • langserver: Escape pipe symbols in keyword argument descriptions in hover (b3111fe)
  • vscode: Correct highligtning of keyword arguments (162a0b0)
  • Sorting of completion items on library imports (5d2c20d)

0.54.1 - 2023-09-01

Bug Fixes

  • Disable html report for pytest (8fcb4ed)

0.54.0 - 2023-09-01

Bug Fixes

  • langserver: Disable directory browsing in documentation server (18ad3ff)
  • langserver: Correct end positon of completion range in arguments (063d105)

Features

  • langserver: Better argument signatures for completion and signature help (ed7b186)

    don't break between prefix and name of signature

  • langserver: Better signature help and completion of keyword arguments and library import arguments, including completions for type converters like Enums, bools, TypedDict, ... (dee570b)

0.53.0 - 2023-08-27

Features

  • langserver: First version of completion of enums and typed dicts for RF >= 6.1 (bd39e30)

  • robocop: With code descriptions in robocop diagnostics you can jump directly to the website where the rule is explained (46125a5)

    closes #152

0.52.0 - 2023-08-25

Bug Fixes

  • Use import nodes to add references for libraries/resources and variables (f0eb9c9)

Features

  • debugger: Add some more informations in verbose mode (ff87819)

  • langserver: Goto, highlight, rename, hover, find references for named arguments (054d210)

    rename and goto only works for resource keywords

  • langserver: Inlay hint and signature help now shows the correct parameters and active parameter index, make both work for library and variable imports and show type informations if type hints are defined (99bc996)

  • robotcode: Internal cli args are now hidden (934e299)

    If you want to show these args set the environment variable ROBOTCODE_SHOW_HIDDEN_ARGS to true or 1.

0.51.1 - 2023-08-13

Testing

0.51.0 - 2023-08-13

Bug Fixes

  • langserver: Correct highlighting of keyword arguments with default value (c12e1ef)
  • Correct hovering, goto, etc. for if/else if/inline if statements (7250709)

Documentation

Features

  • discovery: Option to show/hide parsing errors/warnings at suite/test discovery (633b6b5)
  • langserver: Highlight namespace references (b9cd85a)
  • langserver: Rework "Analysing", "Hover", "Document Highlight", "Goto" and other things to make them faster, simpler, and easier to extend (47c1feb)

Refactor

  • langserver: Speed up hovering for keywords, variables and namespace by using references from code analysis (4ba77ab)

0.50.0 - 2023-08-08

Bug Fixes

  • Made RobotCode work with Python 3.12 (aee8378)

    Because of some changes in `runtime_protocols', see python doc

Documentation

Features

  • discover: Tags are now discovered normalized by default (7f52283)

    you can add --not-normalized cli argument to get the tags not normalized

  • robotcode: Use default configuration if no project root or project configuration is found (ac1daa1)

0.49.0 - 2023-08-03

Bug Fixes

  • Completion of bdd prefixes optimized (840778e)

    • If you press CTRL+SPACE after a bdd prefix the completion list is shown without typing any other key.
    • if the cursor is at the bdd prefix, other bdd prefix are on the top of the completion list and if you select a bdd prefix only the old prefix is overwritten

Documentation

  • Better help texts for profiles and config commands (3195451)
  • Correct doc strings in model (e0f8e6b)

Features

  • User default robot.toml config file (55f559d)

    Instead of defining default settings like output-dir or python-path in VSCode a default config file is created in user directory. The default settings in VSCode are removed, but you can define them here again, but the prefered way is to use the robot.toml file in user directory.

  • Reporting suites and tests with the same name when tests are discovered (e5d895b)

  • "create keyword" quick fix detects bdd prefixes in the keyword being created and creates keywords without the prefix (e9b6431)

0.48.0 - 2023-07-30

Bug Fixes

  • robotcode: Add missing profile settings to config documentation (48cb64c)

  • Correct update of test run results when suite teardown fails or is skipped during suite teardown (80b742e)

    Unfortunately, if a test has already failed but it is subsequently skipped in the teardown, the error status of VSCode is not set because the skipped status has a lower priority than the failed status. This is a VSCode problem and I can't change it at the moment.

  • Correct completion of settings with ctrl+space in some situation (47c1165)

  • In a test run, errors that occur are first selected in the test case and not in the keyword definition (a6f0488)

  • Discover tests for RF 6.1.1 (b27cbcf)

  • Better output for discover info command (ac6b4a6)

Features

  • vscode: Added a statusbar item that shows some information about the current robot environment, like version, python version, etc. (1ff174a)
  • Removed old robotcode.debugger script in favor of using robotcode debug cli command (e69b10a)

0.47.5 - 2023-07-20

Bug Fixes

  • Add missing log-level in testcontroller (a26193f)

0.47.4 - 2023-07-20

Bug Fixes

  • Don't update tests if editing __init__.robot files (d6d1785)

0.47.3 - 2023-07-18

Bug Fixes

  • Reset changlog (e39b6ce)
  • Move to commitizen to create new releases, this is only a dummy release.. (07b6e4c)

0.47.2 - 2023-07-17

Bug Fixes

  • Duplicated header completions if languages contains same words (d725c6e)

0.47.1 - 2023-07-10

Bug Fixes

  • debugger: Print the result of an keyword in debugger also if it has a variable assignment (43440d8)
  • Dont update tests in an opened file twice if file is saved (390e6d4)

0.47.0 - 2023-07-10

Bug Fixes

  • debugger: (re)disable attachPython by default (26ee516)
  • debugger: Hide uncaught exceptions now also works correctly for RF >=5 and < 6.1 (f784613)
  • Update diagnostic for Robocop 4.0 release after disablers module was rewritten (6636bfd)
  • Stabilize debugger with new vscode version > 1.79 (d5ad4ba)
  • Correct message output in test results view (b18856f)

Features

  • debugger: Debugger does not stop on errors caught in TRY/EXCEPT blocks (043842c)

    To stop on these errors you have to switch on the exception breakpoint "Failed Keywords".

  • debugger: Switching between "keyword" and "expression" mode by typing # exprmode into debug console (default: keyword mode) (1cc6680)

    In the expression mode you can enter python expression and ask for variables and so on. In keyword mode you can enter robot framework statements, i.e. simple keyword call, IF/FOR/TRY statements, this also allows multi line input

  • debugger: Simple keyword completion in debugger (6b1ffb6)

  • debugger: Expanding dict and list variables in the variable view of the debugger, this also works in hints over variables, in the watch view and also by evaluating expressions/keywords in the command line of the debugger (2969379)

  • Show more informations in hint over a variables import (735a209)

  • Complete reserved tags in Tags settings (483b9ac)

    Closes [ENHANCEMENT] Support Reserved Tags #103

  • Show deprecation information if using Force Tags and Default Tags (f23e5d0)

0.46.0 - 2023-07-05

Bug Fixes

  • debugger: Evaluation expressions in RFW >= 6.1 not work correctly (f7c38d6)
  • Insted of starting the debugger, start robotcode.cli in debug launcher (013bdfd)

Features

  • Allow multiline RF statements in debug console (f057131)

    This supports also IF/ELSE, FOR, TRY/EXCEPT/FINALLY statements. Just copy your piece of code to the debug console. This also enables the python debugger by default if you run a RF debugging session

0.45.0 - 2023-06-23

Bug Fixes

  • Change code property for diagnostics for analyse imports to ImportRequiresValue (222e89c)
  • Document_symbols throws exception if section name is empty (ffce34d)

Features

  • Library doc now generates a more RFW-like signature for arguments and argument defaults like ${SPACE}, ${EMPTY}, ${True}, etc. for the respective values (28a1f8a)

0.44.1 - 2023-06-21

Bug Fixes

  • Completion and diagnostics for import statements for RF >= 6.1 (b4e9f03)

0.44.0 - 2023-06-21

Bug Fixes

  • Extension not terminating sometimes on vscode exit (753c89c)
  • Detect languageId of not given at "textDocument/didOpen" (54e329e)
  • Correct handling error in server->client JSON RPC requests (6e16659)

Features

  • Add option to start a debugpy session for debugging purpose (3f626cc)

Refactor

  • Make mypy and ruff happy (0c26cc0)

0.43.2 - 2023-06-20

Bug Fixes

  • Only update test explorer items if file is a valid robot suite (9461acf)
  • Update testitems does not work correctly if a init.robot is changed (a426e84)

0.43.1 - 2023-06-15

Bug Fixes

  • Intellisense doesn't work when importing yml file with variables #143 (b19eea1)

0.43.0 - 2023-06-14

Bug Fixes

  • Checks for robot version 6.1 (e16f09c)
  • Hover over a tasks shows "task" in hint and not "test case" (457f3ae)
  • Correct highlightning *** Tasks *** and *** Settings *** (c4cfdb9)

Features

  • Support for new --parseinclude option in robot config (dfd88d8)
  • Support for new RF 6.1 --parse-include option for discovering and executing tests (607cf8d)
  • Enable importing and completion of .rest, .rsrc and .json resource extensions (not parsing) (3df22dd)
  • Support for importing .json files in RF 6.1 (0f84c4e)

Testing

  • Update tests für RF 6.1rc1 (3d8a702)
  • Update regression tests (b37bf58)

0.42.0 - 2023-06-05

Bug Fixes

  • Resolving variable values in hover for RF 6.1 (0acdd21)
  • Compatibility with Python 3.12 (3ec4d23)

Features

  • Support for new --parseinclude option in robot config (6b84986)

Refactor

Testing

0.41.0 - 2023-05-23

Bug Fixes

  • Patched FileReader for discovery should respect accept_text (c654af5)

Features

  • Optimize/speedup searching of files, setting robotcode.workspace.excludePatterns now supports gitignore like patterns (d48b629)

  • New robotcode.robotidy.ignoreGitDir and robotcode.robotidy.config setting to set the config file for robotidy and to ignore git files if searching for config files for robotidy (a9e9c02)

    see also: https://robotidy.readthedocs.io/

Refactor

  • Some optimization in searching files (5de8a17)

0.40.0 - 2023-05-17

Bug Fixes

  • Wrong values for command line vars (3720109)

Features

  • Show argument infos for dynamic variables imports (94b21fb)

0.39.0 - 2023-05-16

Documentation

  • Update config documentation (b188b27)

Features

  • Language server now is a robotcode cli plugin and can use config files and execution profiles (12308bb)
  • New command RobotCode: Select Execution Profiles (78f5548)

0.38.0 - 2023-05-15

Bug Fixes

  • Use dispose instead of stop to exit language server instances (5aba99b)
  • Bring output console into view if robotcode discovery fails (8bcc147)

Features

  • New command discover tags (a8fbb22)

Refactor

0.37.1 - 2023-05-11

Bug Fixes

  • discover: Wrong filename in diagnostics message on update single document (dee91c4)

0.37.0 - 2023-05-10

Bug Fixes

  • langserver: Resolving variables as variable import arguments does not work correctly (a7ba998)
  • Some correction in completions for robotframework >= 6.1 (058e187)

Features

  • Test discovery now runs in a separate process with the robotcode discover command, this supports also prerunmodifiers and RF 6.1 custom parsers (ee5f0fb)
  • Reintroduce of updating the tests when typing (94053fc)

Refactor

  • Correct some help texts and printing of output (b225a73)

0.36.0 - 2023-05-01

Features

  • Select run profiles in test explorer (a7f8408)

  • Simple discover all command (a1d8b84)

    shows which tests are executed without running them.

0.35.0 - 2023-04-25

Bug Fixes

  • debug-launcher: Switch back to stdio communication, because this does not work on Windows with python <3.8 (6b0e96e)

Features

  • runner: Add run alias for robot command in cli (9b782cc)

0.34.1 - 2023-04-21

Bug Fixes

  • Some code scanning alerts (61771f8)

0.34.0 - 2023-04-20

Bug Fixes

  • Correct toml json schema urls (bf4def7)

Features

  • debugger: Refactored robotcode debugger to support debugging/running tests with robotcode's configurations and profiles, also command line tool changes. (69131e6)

    The command line robotcode.debugger is deprectated and do not support configs and profiles, to use the full feature set use robotcode debug to start the debug server.

    By default robotcode debug starts a debug session and waits for incoming connections.

  • runner: Implement command line options to select tests/tasks/suites by longname (d2cb7dc)

Refactor

  • Create robotcode bundled interface (1126605)
  • Fix some ruff errors (38aa2d2)

0.33.0 - 2023-04-09

Bug Fixes

  • End positions on formatting (a87ba80)

Features

  • Improved Handling of UTF-16 encoded multibyte characters, e.g. emojis are now handled correctly (d17e79c)

0.32.3 - 2023-04-07

Bug Fixes

  • Correct formatting with robotframework-tidy, also support tidy 4.0 reruns now, closes #124 (3b4c0e8)

Documentation

  • Use markdown style examples in commandline doc (7575a77)

Features

  • robotcode: Add new command to show informations about configuration setttings (47216e9)

Testing

  • Fix DeprecationWarning for some tests (6e70fc3)

0.32.2 - 2023-04-05

Bug Fixes

  • Update git versions script (fb16818)

0.32.1 - 2023-04-05

Bug Fixes

  • Dataclasses from dict respects Literals also for Python 3.8 and 3.9 (73b7b1c)

0.32.0 - 2023-04-05

Features

  • Add command for robots testdoc (dd6d758)
  • Allow expression for str options, better handling of tag:, name: options (d037ddb)

Refactor

0.31.0 - 2023-03-30

Documentation

  • Introduce mike for versioned documentation (4c6e9ac)

Features

  • robotcode: Add commands to get informations about configurations and profiles (edc4ee5)
  • New commands robot, rebot, libdoc for robotcode.runner (25027fa)
  • Profiles can now be enabled or disabled, also with a condition. Profiles can now also be selected with a wildcard pattern. (4282f02)

Refactor

  • Add more configuration options, update schema, new command config (5816669)
  • Move the config command to robotcode package (90c6c25)

Testing

  • Correct mypy error in tests (37dca4d)
  • Add bundled to be ignored in pytest discovery (c008005)

0.30.0 - 2023-03-22

Features

  • robotcode-runner: Robotcode-runner now supports all features, but not all robot options are supported (1b7affb)

Refactor

  • Implement robot.toml config file and runner (cff5c81)

0.29.0 - 2023-03-20

Features

  • Support for Refresh Tests button in test explorer (0b27713)

0.28.4 - 2023-03-19

Bug Fixes

  • Update regression tests (59b782d)

0.28.3 - 2023-03-19

Bug Fixes

  • Correct discovering for RobotFramework 6.1a1 (99aa82d)
  • Correct analysing keywords with embedded arguments for RF >= 6.1 (ef0b51f)

Documentation

  • Start documentation with mkdocs (381dcfe)

0.28.2 - 2023-03-10

Bug Fixes

  • Correct version of robotcode runner (1ba8590)

Testing

  • Add tests for code action show documentation (e692680)

0.28.1 - 2023-03-10

Bug Fixes

  • Source actions are missing in the context menu for versions #129 (dd6202a)

0.28.0 - 2023-03-09

Bug Fixes

  • Return codes for command line tools now uses sys.exit with return codes (b6ad7dd)
  • #125 Robot Code crashes with a variables file containing a Dict[str, Callable] (7e0b55c)

Documentation

Features

  • Debugger is now started from bundled/tool/debugger if available (4b04c7a)

0.27.2 - 2023-03-06

Bug Fixes

  • The debugger no longer requires a dependency on the language server (c5199ee)
  • Unknown workspace edit change received at renaming (48aef63)

Refactor

  • Some big refactoring, introdude robotcode.runner project (d0f71fe)

0.27.1 - 2023-03-01

Documentation

  • Update badges in README's (78bbf7a)

0.27.0 - 2023-03-01

Features

  • Split python code into several packages, now for instance robotcode.debugger can be installed standalone (01ac842)

Refactor

  • Introduce bundled/libs/tool folders and move python source to src folder (478c93a)

    this is to prepare the splitting of one big python package to several smaller packages, i.e. to install the robotcode.debugger standalone without other dependencies

Testing

  • Don't run the LS tests in another thread (c464edc)

0.26.2 - 2023-02-25

Bug Fixes

0.26.1 - 2023-02-25

Bug Fixes

0.26.0 - 2023-02-25

Bug Fixes

  • Correct error message if variable import not found (a4b8fbb)

Features

  • Switch to hatch build tool and bigger internal refactorings (bc1c99b)

Refactor

  • Generate lsp types from json model (8b7af4f)

Testing

  • Introduce timeout/wait_for for langserver tests (b9f4d5e)
  • Decrease timeout for language server tests (9790823)
  • Increate test timeouts and enable pytest logging (1d6a980)
  • Disable run_workspace_diagnostics in unit tests (2348b0e)
  • Increase timeout for langserver tests (1224dae)
  • Use Lock instead of RLock for AsyncLRUCache (c36683e)
  • Remove cache dir before running tests (5a9323b)
  • Ignore errors if remove cache dir (c670989)

0.25.2-beta.1 - 2023-02-07

Documentation

  • Add some badges to readme and reorder the chapters (22120f1)
  • Add python badges to README (c0ec329)

Refactor

  • robotlangserver: Optimize test discovering (4949ba6)
  • robotlangserver: Workspace rpc methods are now running threaded (8f8f2b9)
  • Fix some ruff errors and warnings, disable isort in precommit (c144250)
  • Replace *Generator with *Iterator (cd96b1d)
  • Change logger calls with an f-string to use lambdas (cc555e1)
  • Use list over useless lambda in default_factories (930fa46)
  • Fix some pytest ruff warning (b2bff02)
  • Fix some flake8-return warnings (bea720d)
  • Simplify some code (9403f72)
  • Fix some PIE810 errors (59848e2)
  • Fix some mypy errors (9356b32)

Testing

  • Add a copy of remote example library (d0b2ca5)
  • Enable pytest logging (bf07425)
  • Remove Remote library references (2ba0edd)
  • Run discovery tests in thread (5fe0f97)
  • Run coroutines in ThreadPoolExecutor (e4325f1)
  • Disable logging (b6e59b5)
  • Let collect data in languages server test run in his own thread (327b122)
  • Make regtests for rf tests version dependend (fe69626)

0.25.1 - 2023-01-24

Bug Fixes

  • vscode: In long test runs suites with failed tests are still marked as running even though they are already finished (942addf)

Refactor

  • Add type parameter to end_output_group (299658f)

0.25.0 - 2023-01-24

Features

  • debugger: New setting for outputTimestamps in launch and workspace configuration to enable/disable timestamps in debug console (e3ed581)

0.24.4 - 2023-01-23

Bug Fixes

  • debugger: Show error/warning messages of python logger in debug console (665a3ff)

0.24.3 - 2023-01-23

Bug Fixes

  • Set env and pythonpath erlier in lifecycle to prevent that sometime analyses fails because of python path is not correct (4183391)

0.24.2 - 2023-01-20

Bug Fixes

  • robotlangserver: Retun correct robot framework version test (e786b76)

0.24.1 - 2023-01-20

Bug Fixes

  • robotlangserver: Robot version string is incorrectly parsed if version has no patch (d1afe4d)

    correct can't get namespace diagnostics ''>=' not supported between instances of 'NoneType' and 'int'' sometimes happens

  • Start diagnostics only when the language server is fully initialized (d2bd3db)

0.24.0 - 2023-01-16

Features

  • robotlangserver: Create undefined keywords in the same file (c607c3f)

Refactor

  • Introduce asyncio.RLock (ab918db)
  • Prepare create keywords quickfix (b34c8bf)

0.23.0 - 2023-01-13

Bug Fixes

  • robotlangserver: Remove possible deadlock in completion (3d17699)

Features

  • robotlangserver: Highlight named args in library imports (63b93af)

0.22.1 - 2023-01-13

Bug Fixes

  • robotlangserver: Generating documentation view with parameters that contains .py at the at does not work (8210bd9)
  • robotlangserver: Resolving imports with arguments in diffent files and folders but with same string representation ie. ${curdir}/blah.py now works correctly (8c0517d)

0.22.0 - 2023-01-12

Features

  • Add onEnter rule to split a long line closes #78 (3efe416)

0.21.4 - 2023-01-11

Bug Fixes

  • robotlangserver: Remove possible deadlock in Namespace initialization (27d781c)

0.21.3 - 2023-01-10

Bug Fixes

  • robotlangserver: If a lock takes to long, try to cancel the lock (75e9d66)

0.21.2 - 2023-01-10

Bug Fixes

  • Use markdownDescription in settings and launch configurations where needed (229a4a6)

Performance

  • Massive overall speed improvements (aee36d7)

    Mainly from changing locks from async.Lock to threading.Lock. Extra: more timing statistics in log output

Refactor

0.21.1 - 2023-01-07

Performance

  • Caching of variable imports (9d70610)

0.21.0 - 2023-01-07

Bug Fixes

  • robotlangserver: Loading documents hardened (eab71f8)

    Invalid document don't break loading, initializing and analysing documents and discovering tests

  • robotlangserver: Speedup analyser (228ae4e)

  • Generating keyword specs for keywords with empty lineno (60d76aa)

  • Try to handle unknow documents as .robot files to support resources as .txt or .tsv files (4fed028)

Features

  • New setting robotcode.analysis.cache.ignoredLibraries to define which libraries should never be cached (5087c91)

0.20.0 - 2023-01-06

Bug Fixes

  • robotlangserver: Ignore parsing errors in test discovery (470723b)

    If a file is not valid, i.e. not in UTF-8 format, test discovery does not stop, but an error is written in the output

  • vscode-testexplorer: Correctly combine args and paths in debug configurations (4b7e7d5)

  • Speedup loading and analysing tests (9989edf)

    Instead of waiting for diagnostics load and analyse documents one by one, load first the documents and then start analysing and discovering in different tasks/threads

Features

  • debugger: Add include and exclude properties to launch configurations (f4681eb)

    see --include and --exclude arguments from robot

  • robotlangserver: Show keyword tags in keyword documentation (c82b60b)

  • robotlangserver: Support for robot:private keywords for RF>6.0.0 (e24603f)

    Show warnings if you use a private keyword and prioritize not private keywords over private keywords

  • robotlangserver: Implement embedded keyword precedence for RF 6.0, this also speedups keyword analysing (f975be8)

Refactor

  • debugger: Move debugger.modifiers one level higher to shorten the commandline (eea384d)
  • robotlangserver: Better error messages if converting from json to dataclasses (29959ea)

0.19.1 - 2023-01-05

Bug Fixes

  • debugger: Use default target if there is no target specified in launch config with purpose test (f633cc5)

0.19.0 - 2023-01-04

Bug Fixes

  • robotlangserver: Don't report load workspace progress if progressmode is off (6dca5e0)

Features

  • debugger: Possibility to disable the target . in a robotcode launch configurations with null, to append your own targets in args (42e528d)

  • robotlangserver: New setting .analysis.cache.saveLocation where you can specify the location where robotcode saves cached data (22526e5)

  • New command Clear Cache and Restart Language Servers (a2ffdc6)

    Clears all cached data i.e library docs and restarts the language servers.

0.18.0 - 2022-12-15

Bug Fixes

  • robotlangserver: Update libraries when editing not work (9adc6c8)

Features

  • robotlangserver: Speedup loading of class and module libraries (975661c)

    implement a caching mechanism to load and analyse libraries only once or update the cache if the library is changed

0.17.3 - 2022-12-11

Bug Fixes

  • vscode: Some tweaks for better highlightning (40b7512)
  • vscode: Highlightning comments in text mate mode (1c1cb9a)

Performance

  • robotlangserver: Refactor some unnecessary async/await methods (0f8c134)

  • robotlangserver: Speedup keyword completion (6bcaa22)

    Recalcution of useable keywords is only called if imports changed, this should speedup showing the completion window for keywords

Testing

  • all: Switching to pytest-regtest (c2d8384)

    Switching to pytest-regtest brings massive speed to regression test

  • all: Fix tests for python 3.11 (07d5101)

0.17.2 - 2022-12-09

Bug Fixes

  • vscode: Enhance tmLanguage to support thing like variables, assignments,... better (ec3fce0)

0.17.0 - 2022-12-08

Features

  • vscode: Add configuration defaults for editor.tokenColorCustomizations and editor.semanticTokenColorCustomizations (ce927d9)

    This leads to better syntax highlighting in Robotframework files.

0.16.0 - 2022-12-08

Bug Fixes

  • robotlangserver: Try to hover, goto, ... for keyword with variables in names (ec2c444)
  • vscode: Capitalize commands categories (b048ca4)

Features

  • robotlangserver: Highlight embedded arguments (d8b23e4)

  • robotlangserver: Optimization of the analysis of keywords with embedded arguments (0995a2e)

  • robotlangserver: Highlight dictionary keys and values with different colors (9596540)

  • vscode: Add new command Restart Language Server (2b4c9c6)

    If the extension hangs, you can try to restart only the language server of robot code instead of restart or reload vscode

  • vscode: Provide better coloring in the debug console. (c5de757)

0.15.0 - 2022-12-07

Bug Fixes

  • Debugger now also supports dictionary expressions (f80cbd9)

    given this example:

    *** Variables ***
    &{DICTIONARY_EXAMPLE1}      output_dir=${OUTPUT DIR}
    ...                         AA=${DUT_IP_ADDRESS_1}
    ...                         ZZ=${{{1:2, 3:4}}}
    

    now you can also evaluate expressions like

    ${DICTIONARY_EXAMPLE1}[output_dir]
    

    in the debugger.

Features

  • Simplifying implementation of discovering of tests (c8abfae)

Testing

  • Add tests for workspace discovery (61f82ce)