Skip to content

Releases: robotcodedev/robotcode

v0.98.0

19 Nov 17:14
v0.98.0
4ac5fd0

Choose a tag to compare

Bug Fixes

  • analyze: Corrected checking if a resource is already imported (b5a76b3)
  • analyze: Corrected importing resources with identical relative names but different base paths (5792ac7)

Features

  • analyzer: Added command line options for diagnostics modifiers to code command (0a29800)

  • repl: Rework repl a little bit and add some new command line options (610b1f3)

    see documentation

v0.97.0

13 Nov 01:27
v0.97.0
6022e91

Choose a tag to compare

Bug Fixes

  • langserver: Support glob pattern in robot.tomls python-path setting (f6e380c)
  • vscode: Correct handling of comments in tmlanguage (ce794bf)

Documentation

  • Expand documentation on robotcode packages, installation, and usage (907fa8c)

Features

  • analyze: analyze code command now also uses the settings in the robot.toml file. (bd17a5d)
  • analyze: Add CLI options for pythonpath, variable, and variablefile to analyze code command; collect errors for unimportable command line variable files (b4e6be4)
  • robot: Display filename on TOML parsing error (8c25db8)

v0.96.0

04 Nov 20:06
v0.96.0
7ce7941

Choose a tag to compare

Bug Fixes

  • vscode: Corrected tmlanguage to color variables in variables section (0e32e41)
  • Corrected hash calculation for keyword matchers for keywords with embedded arguments for RF < 7 (c58f622)

Features

  • analyze: Add command line support for static analysis of Robot Framework projects (01a4c6d)
  • vscode: Connect vscode testrun to the debug session to link the lifecycle to of the session to the ui actions of the test run (0d3bd27)

v0.95.2

28 Oct 18:22
v0.95.2
dbce6a3

Choose a tag to compare

Performance

  • analyzer: Simplify generating of internal libdocs for resource files (c232cea)

Refactor

  • all: Some cache adjustments and removal of unnecessary code (9b0999c)

v0.95.1

26 Oct 23:44
v0.95.1
01c8d05

Choose a tag to compare

Bug Fixes

  • robot: Corrected some type hint for python 3.8 (47510ac)
  • vscode: Restart the language server if a change is detected in a .gitignore or .robotignore file (7613bb2)

Documentation

  • Update documentation for command line tools (9e0d0dc)

Performance

  • analyzer: Speed up the creation of libdocs from resource files (2dfc91b)
  • analyzer: Speed up finding keywords and variables a little bit more (aaa6439)
  • language_server: Corrected handling of matching multiple keywords if keywords have embedded keywords (c662685)

v0.95.0

25 Oct 23:09
v0.95.0
192ad69

Choose a tag to compare

Bug Fixes

  • analyzer: Fix some spellings (b622c42)
  • analyzer: Handle bdd prefixes correctly if keyword is cached (41ff53f)
  • analyzer: Corrected analyzing of [Return], [Setup], [Teardown] statement (4e17c8f)
  • analyzer: Corrected exception in parsing ForHeaders with invalid variable (0851d4f)
  • analyzer: Fixed find variables as modules for RF > 5 (ce787b2)
  • langserver: Corrected inlay hints for bdd style keyword calls (77ce8f1)
  • langserver: Only update direct references to a file, not imports if something changes (ea24b06)

Features

  • analyzer: Implemented better handling of imports of dynamic libraries (f6b5b87)

    • show also errors on in dynamic library API like in get_keyword_documentation and get_keyword_arguments
  • discover: Rework discover commands (87e1dd9)

    • show statistics on all commands
    • better differention of tests and tasks
    • new command tasks to show only the tasks
    • command tests show only the tests
    • new arguments for tags command --tests and --tags
    • show the type of test or task in test explorer description

Performance

  • analyzer: Restructured code for handling bdd prefixes (96fbe90)
  • analyzer: Optimized analysing keyword calls (b1f0f28)
  • analyzer: Cache embedded arguments and some more little perf tweaks (3603ff6)
  • analyzer: Introduced some caching for parsing variables (e39afe9)
  • analyzer: Implemented DataCache, cache files are now saved in pickle format by default instead of json (f3ecc22)

v0.94.0

20 Oct 20:55
v0.94.0
b34daae

Choose a tag to compare

Bug Fixes

  • analyzer: Better exception message for invalid command variable files (f8cb770)
  • analyzer: Decrease load load library timeout and better error messages if time out occurs (a3fb4a3)
  • docs: Corrected some things about the inheritance of profiles (aa50cc7)
  • repl: Corrected start of repl command if there is no robot.toml with a path setting (42f96b4)
  • Correct analyzing of variables in WhileHeader options (3a4ee79)

Features

Performance

  • analyze: Improved performance of code analysis (more then 2x faster) (2951759)
  • analyze: Optimize find unused refences (1.5x-2x faster) (fda1f02)
  • analyzer: Move model and token analyzing to the normal analysing stage (7b3eb0c)

Refactor

  • analyze: Remove unused/unneeded call to find variable in namespace (b561607)

Testing

  • Update tests for RF 7.1.1 (702c5c9)

v0.93.1

09 Oct 10:12
v0.93.1
cbc8467

Choose a tag to compare

Bug Fixes

  • langserver: Stabilized resolving of variables in test case and keyword documentation (1bad58f)

v0.93.0

08 Oct 22:42
v0.93.0
829589c

Choose a tag to compare

Bug Fixes

  • Logging of measure_time if log is disabled (725c739)
  • Enable supportsANSIStyling in DAP to reeanble colored output in debug console (0d5616c)
  • Corrected highlightning invalid sections for RF7 (d139ff1)

Features

  • cli: New command line interface tool - Robot Framework REPL interpreter (be386d2)

    The new CLI command repl introduces an interactive Robot Framework interpreter. You can install it by running pip install robotcode[repl] and start it via the command line using robotcode repl.

    With this interactive interpreter, you can execute Robot Framework keywords without the need to run a full test suite. By default, all BuiltIn keywords are immediately accessible. To load a library, you can use the import library keyword, and for resources or variable files, you can use the corresponding built-in commands import resource and import variables. The outcome of any keyword execution, along with relevant log details, is displayed directly in the console.

    You can exit the interpreter using the exit keyword or by pressing CTRL+D on Unix-like systems and CTRL+Z followed by ENTER on Windows.

    At this stage, the implementation is fairly basic, but additional features for the REPL command are planned. This also serves as the first step toward an exciting new feature (spoiler alert!): Robot Framework Notebooks.

  • debugger: Increase timeouts for debugger to fit better to python debugger timeouts and introduce environment variables to override these timeouts (63f3e4a)

  • langserver: Resolve variable in hover for documentation settings in testcases and keywords (ffa9bdb)

  • vscode: Introduce RobotCode: Start Terminal REPL command for launching the interactive Robot Framework interpreter directly from VSCode (f4025fb)

  • Improved logging with time information (27d21b5)

    • Operations that take a little longer now have an indication of how long they took
    • 2 new command line switches --log-format and --log-style, see also the Python logging documentation
  • --root command line argument to specify a project root and disable autodetection of project root (add4102)

  • Add --no-vcs command-line option to ignore VCS directories (e.g., .git) when detecting the project root (d7e28f2)

    #closes 201

Performance

  • langserver: Speedup semantic highlightning a lot (567ac72)

Refactor

  • Some performance tweaks (d3b39be)

v0.92.0

01 Oct 23:28
v0.92.0
21f9910

Choose a tag to compare

Features

  • analyze: Allow shortforms of warning and information, warn and info in diagnostic modifiers (f226091)

  • config: Added posibility to allow different tool configs to robot.toml.json schema (ee256ce)

  • robot.toml: Introduce new settings for analysis in robot.toml (fa37dba)

  • vscode: Introduce setting for modifing the diagnostics severity (5cca59f)

    With these settings, you can override the default configuration for all diagnostic messages. By combining file, block, and line diagnostic modifiers, you can precisely control how specific errors are displayed.

    • robotcode.analysis.diagnosticModifiers.ignore: Suppresses specific diagnostics from being displayed. You can specify one or more error codes, like MultipleKeywords or [multiple-keywords, VariableNotFound]. Use * to ignore all errors and then maybe add specific error codes to other modifiers, such as information, to selectively show them.
    • robotcode.analysis.diagnosticModifiers.error: Treats selected diagnostics as errors.
    • robotcode.analysis.diagnosticModifiers.warning: Displays chosen diagnostics as warnings.
    • robotcode.analysis.diagnosticModifiers.information: Shows specified diagnostics as information
    • robotcode.analysis.diagnosticModifiers.hint: Marks selected diagnostics as hints

    These settings allow you to tailor the diagnostic outputs to meet the specific needs of your project.

  • Introduce Select Python Environment command and deprecate robotcode.python (be0573d)

    See here for an explanation.