robotcode 1.4.0__tar.gz → 1.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {robotcode-1.4.0 → robotcode-1.6.0}/CHANGELOG.md +60 -0
- {robotcode-1.4.0 → robotcode-1.6.0}/PKG-INFO +16 -19
- {robotcode-1.4.0 → robotcode-1.6.0}/hatch.toml +3 -8
- {robotcode-1.4.0 → robotcode-1.6.0}/pyproject.toml +15 -17
- {robotcode-1.4.0 → robotcode-1.6.0}/src/robotcode/cli/__init__.py +39 -6
- robotcode-1.6.0/src/robotcode/cli/__version__.py +1 -0
- robotcode-1.4.0/src/robotcode/cli/__version__.py +0 -1
- {robotcode-1.4.0 → robotcode-1.6.0}/.gitignore +0 -0
- {robotcode-1.4.0 → robotcode-1.6.0}/LICENSE.txt +0 -0
- {robotcode-1.4.0 → robotcode-1.6.0}/README.md +0 -0
- {robotcode-1.4.0 → robotcode-1.6.0}/src/robotcode/cli/__main__.py +0 -0
- {robotcode-1.4.0 → robotcode-1.6.0}/src/robotcode/cli/commands/__init__.py +0 -0
- {robotcode-1.4.0 → robotcode-1.6.0}/src/robotcode/cli/commands/config.py +0 -0
- {robotcode-1.4.0 → robotcode-1.6.0}/src/robotcode/cli/commands/profiles.py +0 -0
- {robotcode-1.4.0 → robotcode-1.6.0}/src/robotcode/cli/py.typed +0 -0
@@ -2,6 +2,66 @@
|
|
2
2
|
|
3
3
|
All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
|
4
4
|
|
5
|
+
## [1.6.0](https://github.com/robotcodedev/robotcode/compare/v1.5.0..v1.6.0) - 2025-07-30
|
6
|
+
|
7
|
+
### Bug Fixes
|
8
|
+
|
9
|
+
- **core:** Remove unnecessary socket option for address reuse in find_free_port ([1ee754a](https://github.com/robotcodedev/robotcode/commit/1ee754abc7b27a8d2d70e15f39dad8ec0febc4da))
|
10
|
+
- **debugger:** Enhance error handling in DAPClient and simplify port allocation for new testrun sessions ([43f242d](https://github.com/robotcodedev/robotcode/commit/43f242d61dc0e249e1912ac0d7be8df63478d802))
|
11
|
+
|
12
|
+
- every new test run gets it's own tcp port
|
13
|
+
|
14
|
+
- **debugger:** Only sync when not in CallKeyword state ([709798a](https://github.com/robotcodedev/robotcode/commit/709798ac5cfbdf84ede7282d396bcae03a7e33f7))
|
15
|
+
|
16
|
+
|
17
|
+
### Documentation
|
18
|
+
|
19
|
+
- Remove robotframework-tidy from docs ([c259a0f](https://github.com/robotcodedev/robotcode/commit/c259a0f42819e25603ff333afdf6fc9c00b6b279))
|
20
|
+
|
21
|
+
|
22
|
+
### Features
|
23
|
+
|
24
|
+
- **debug:** Better synchronization between test view and execution in intellij-client, part 2 ([4ce87a2](https://github.com/robotcodedev/robotcode/commit/4ce87a2a86c72c944fab5de1288d08ecc33928e7))
|
25
|
+
- **debugger:** Better synchronization between test view and execution in vscode, part 1 ([63c895f](https://github.com/robotcodedev/robotcode/commit/63c895f8d78ba0db64c32c4100ab09bf42941232))
|
26
|
+
- **robotcode:** Remove robotframework-tidy from optional-dependencies ([205cfd1](https://github.com/robotcodedev/robotcode/commit/205cfd1a93aae3bfc4e062d1d16b0dd3ad2e4f98))
|
27
|
+
|
28
|
+
|
29
|
+
### Refactor
|
30
|
+
|
31
|
+
- **debugger:** Split get_variables method and splitup version specific behavior for exception handling ([c828202](https://github.com/robotcodedev/robotcode/commit/c828202021d8b0eb0e4862fec0e96713977cfe62))
|
32
|
+
- **debugger:** Break down complex evaluate() method ([4c6b9af](https://github.com/robotcodedev/robotcode/commit/4c6b9afc988a0b4838e16bd9f57b4d57db278721))
|
33
|
+
- **debugger:** Optimize cache management and improve regex matching performance ([2edfeea](https://github.com/robotcodedev/robotcode/commit/2edfeea3d884b486b19d3c6ab4b6e76e03572b57))
|
34
|
+
- **debugger:** Enhance type safety by introducing protocols and type definitions for log messages and attributes ([a65b9b9](https://github.com/robotcodedev/robotcode/commit/a65b9b95cf66d3b513da2c50d1409a56887c9963))
|
35
|
+
- **debugger:** Replace magic numbers with named constants for better readability ([65b0912](https://github.com/robotcodedev/robotcode/commit/65b091218e2ed5552e6d2a84ab61600ecbdc75a3))
|
36
|
+
- **debugger:** Replace instance method calls with property access for consistency ([8ea82e4](https://github.com/robotcodedev/robotcode/commit/8ea82e45f4d343431aa42dfd525ed5ccb09d4df7))
|
37
|
+
- **instructions:** Clarify implementation guidelines and communication flow ([b37be1c](https://github.com/robotcodedev/robotcode/commit/b37be1c683467ba4f3557127cb6337d5baad19c3))
|
38
|
+
- **langserver:** Improve performance and memory consumption for semantic tokens ([e8297ff](https://github.com/robotcodedev/robotcode/commit/e8297ffc2f093cbab7eeff0bbecc7fba3dd5f330))
|
39
|
+
- **langserver:** Remove unused semantic token types and update regression tests ([6b262b5](https://github.com/robotcodedev/robotcode/commit/6b262b54d3aa53e55f4661b289f7959baf1f260a))
|
40
|
+
- **langserver:** Remove unused methods to simplify code ([96ba516](https://github.com/robotcodedev/robotcode/commit/96ba5162238fe04ca9b2473dcc512b94efc8cf7f))
|
41
|
+
- **langserver:** Optimize memory consumption and perfomance in semantic token highlighter ([7e5e8e3](https://github.com/robotcodedev/robotcode/commit/7e5e8e3b9ebc0a3a1ce0a0dccee4cdf160d7bdb5))
|
42
|
+
- **langserver:** Remove some unneeded casts ([c82a604](https://github.com/robotcodedev/robotcode/commit/c82a6040ea9b6d786e0af9cf5078780e2aaf7437))
|
43
|
+
|
44
|
+
|
45
|
+
## [1.5.0](https://github.com/robotcodedev/robotcode/compare/v1.4.0..v1.5.0) - 2025-07-07
|
46
|
+
|
47
|
+
### Features
|
48
|
+
|
49
|
+
- **cli:** Add new command line switch `--log-config` to specify a python json log configuration ([31a11f2](https://github.com/robotcodedev/robotcode/commit/31a11f27b96fba6c879218c9b13cdea5f8bb89c3))
|
50
|
+
- **jsonrpcl:** Simplify error message formatting in JsonRPCProtocol for better readability in clients ([75614b0](https://github.com/robotcodedev/robotcode/commit/75614b05820f57c98c416949abced03970e0b429))
|
51
|
+
|
52
|
+
|
53
|
+
### Refactor
|
54
|
+
|
55
|
+
- **langserver:** Remove some unused code ([fa429a5](https://github.com/robotcodedev/robotcode/commit/fa429a502e1901cfc0d4126c4047994a5fd5ee39))
|
56
|
+
- **langserver:** Simplify keyword renaming ([3836362](https://github.com/robotcodedev/robotcode/commit/3836362073599bcc32d9cb38425645d34d681f91))
|
57
|
+
- **langserver:** Simplify variable renaming ([779fd70](https://github.com/robotcodedev/robotcode/commit/779fd703339ce81124f03f08b73e2639d0729212))
|
58
|
+
|
59
|
+
|
60
|
+
### Testing
|
61
|
+
|
62
|
+
- Update regression tests for RF 7.3.2 ([fd1b89a](https://github.com/robotcodedev/robotcode/commit/fd1b89ac17b1f378bc66c6d944afc92252f13ecf))
|
63
|
+
|
64
|
+
|
5
65
|
## [1.4.0](https://github.com/robotcodedev/robotcode/compare/v1.3.0..v1.4.0) - 2025-06-30
|
6
66
|
|
7
67
|
### Bug Fixes
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: robotcode
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.6.0
|
4
4
|
Summary: Command line interface for RobotCode
|
5
5
|
Project-URL: Homepage, https://robotcode.io
|
6
6
|
Project-URL: Donate, https://opencollective.com/robotcode
|
@@ -34,41 +34,38 @@ Classifier: Topic :: Text Editors :: Integrated Development Environments (IDE)
|
|
34
34
|
Classifier: Topic :: Utilities
|
35
35
|
Classifier: Typing :: Typed
|
36
36
|
Requires-Python: >=3.8
|
37
|
-
Requires-Dist: robotcode-core==1.
|
38
|
-
Requires-Dist: robotcode-plugin==1.
|
39
|
-
Requires-Dist: robotcode-robot==1.
|
37
|
+
Requires-Dist: robotcode-core==1.6.0
|
38
|
+
Requires-Dist: robotcode-plugin==1.6.0
|
39
|
+
Requires-Dist: robotcode-robot==1.6.0
|
40
40
|
Provides-Extra: all
|
41
41
|
Requires-Dist: docutils; extra == 'all'
|
42
42
|
Requires-Dist: pyyaml>=5.4; extra == 'all'
|
43
43
|
Requires-Dist: rich; extra == 'all'
|
44
|
-
Requires-Dist: robotcode-analyze==1.
|
45
|
-
Requires-Dist: robotcode-debugger==1.
|
46
|
-
Requires-Dist: robotcode-language-server==1.
|
47
|
-
Requires-Dist: robotcode-repl-server==1.
|
48
|
-
Requires-Dist: robotcode-repl==1.
|
49
|
-
Requires-Dist: robotcode-runner==1.
|
44
|
+
Requires-Dist: robotcode-analyze==1.6.0; extra == 'all'
|
45
|
+
Requires-Dist: robotcode-debugger==1.6.0; extra == 'all'
|
46
|
+
Requires-Dist: robotcode-language-server==1.6.0; extra == 'all'
|
47
|
+
Requires-Dist: robotcode-repl-server==1.6.0; extra == 'all'
|
48
|
+
Requires-Dist: robotcode-repl==1.6.0; extra == 'all'
|
49
|
+
Requires-Dist: robotcode-runner==1.6.0; extra == 'all'
|
50
50
|
Requires-Dist: robotframework-robocop>=2.0.0; extra == 'all'
|
51
|
-
Requires-Dist: robotframework-tidy>=2.0.0; extra == 'all'
|
52
51
|
Provides-Extra: analyze
|
53
|
-
Requires-Dist: robotcode-analyze==1.
|
52
|
+
Requires-Dist: robotcode-analyze==1.6.0; extra == 'analyze'
|
54
53
|
Provides-Extra: colored
|
55
54
|
Requires-Dist: rich; extra == 'colored'
|
56
55
|
Provides-Extra: debugger
|
57
|
-
Requires-Dist: robotcode-debugger==1.
|
56
|
+
Requires-Dist: robotcode-debugger==1.6.0; extra == 'debugger'
|
58
57
|
Provides-Extra: languageserver
|
59
|
-
Requires-Dist: robotcode-language-server==1.
|
58
|
+
Requires-Dist: robotcode-language-server==1.6.0; extra == 'languageserver'
|
60
59
|
Provides-Extra: lint
|
61
60
|
Requires-Dist: robotframework-robocop>=2.0.0; extra == 'lint'
|
62
61
|
Provides-Extra: repl
|
63
|
-
Requires-Dist: robotcode-repl==1.
|
62
|
+
Requires-Dist: robotcode-repl==1.6.0; extra == 'repl'
|
64
63
|
Provides-Extra: replserver
|
65
|
-
Requires-Dist: robotcode-repl-server==1.
|
64
|
+
Requires-Dist: robotcode-repl-server==1.6.0; extra == 'replserver'
|
66
65
|
Provides-Extra: rest
|
67
66
|
Requires-Dist: docutils; extra == 'rest'
|
68
67
|
Provides-Extra: runner
|
69
|
-
Requires-Dist: robotcode-runner==1.
|
70
|
-
Provides-Extra: tidy
|
71
|
-
Requires-Dist: robotframework-tidy>=2.0.0; extra == 'tidy'
|
68
|
+
Requires-Dist: robotcode-runner==1.6.0; extra == 'runner'
|
72
69
|
Provides-Extra: yaml
|
73
70
|
Requires-Dist: pyyaml>=5.4; extra == 'yaml'
|
74
71
|
Description-Content-Type: text/markdown
|
@@ -65,13 +65,10 @@ python = "3.10"
|
|
65
65
|
|
66
66
|
[[envs.devel.matrix]]
|
67
67
|
python = ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
|
68
|
-
rf = ["
|
68
|
+
rf = ["rf50", "rf60", "rf61", "rf70", "rf71", "rf72", "rf73"]
|
69
69
|
|
70
70
|
[envs.devel.overrides]
|
71
71
|
matrix.rf.dependencies = [
|
72
|
-
{ value = "robotframework~=4.1.0", if = [
|
73
|
-
"rf41",
|
74
|
-
] },
|
75
72
|
{ value = "robotframework~=5.0.0", if = [
|
76
73
|
"rf50",
|
77
74
|
] },
|
@@ -100,13 +97,10 @@ dependencies = ["pytest", "pytest-html", "pytest_asyncio>=0.23", "pyyaml"]
|
|
100
97
|
pre-install-commands = ["python ./scripts/install_packages.py"]
|
101
98
|
|
102
99
|
[[envs.test.matrix]]
|
103
|
-
rf = ["
|
100
|
+
rf = ["rf50", "rf60", "rf61", "rf70", "rf71", "rf72", "rf73"]
|
104
101
|
|
105
102
|
[envs.test.overrides]
|
106
103
|
matrix.rf.dependencies = [
|
107
|
-
{ value = "robotframework~=4.1.0", if = [
|
108
|
-
"rf41",
|
109
|
-
] },
|
110
104
|
{ value = "robotframework~=5.0.0", if = [
|
111
105
|
"rf50",
|
112
106
|
] },
|
@@ -148,6 +142,7 @@ features = ["all"]
|
|
148
142
|
typing = "mypy --no-incremental --cache-dir /dev/null {args:.}"
|
149
143
|
style = ["ruff check .", "ruff format --diff ."]
|
150
144
|
all = ["style", "typing"]
|
145
|
+
fix = ["ruff check --fix .", "ruff format ."]
|
151
146
|
|
152
147
|
[envs.lint.overrides]
|
153
148
|
platform.windows.scripts = [
|
@@ -51,9 +51,9 @@ classifiers = [
|
|
51
51
|
]
|
52
52
|
requires-python = ">=3.8"
|
53
53
|
dependencies = [
|
54
|
-
"robotcode-core==1.
|
55
|
-
"robotcode-plugin==1.
|
56
|
-
"robotcode-robot==1.
|
54
|
+
"robotcode-core==1.6.0",
|
55
|
+
"robotcode-plugin==1.6.0",
|
56
|
+
"robotcode-robot==1.6.0",
|
57
57
|
]
|
58
58
|
dynamic = ["version"]
|
59
59
|
|
@@ -71,27 +71,25 @@ robotcode = "robotcode.cli.__main__:main"
|
|
71
71
|
|
72
72
|
|
73
73
|
[project.optional-dependencies]
|
74
|
-
debugger = ["robotcode-debugger==1.
|
75
|
-
languageserver = ["robotcode-language-server==1.
|
76
|
-
runner = ["robotcode-runner==1.
|
77
|
-
analyze = ["robotcode-analyze==1.
|
74
|
+
debugger = ["robotcode-debugger==1.6.0"]
|
75
|
+
languageserver = ["robotcode-language-server==1.6.0"]
|
76
|
+
runner = ["robotcode-runner==1.6.0"]
|
77
|
+
analyze = ["robotcode-analyze==1.6.0"]
|
78
78
|
yaml = ["PyYAML>=5.4"]
|
79
79
|
lint = ["robotframework-robocop>=2.0.0"]
|
80
|
-
tidy = ["robotframework-tidy>=2.0.0"]
|
81
80
|
rest = ["docutils"]
|
82
|
-
repl = ["robotcode-repl==1.
|
83
|
-
replserver = ["robotcode-repl-server==1.
|
81
|
+
repl = ["robotcode-repl==1.6.0"]
|
82
|
+
replserver = ["robotcode-repl-server==1.6.0"]
|
84
83
|
colored = ["rich"]
|
85
84
|
all = [
|
86
|
-
"robotcode-debugger==1.
|
87
|
-
"robotcode-language-server==1.
|
88
|
-
"robotcode-runner==1.
|
89
|
-
"robotcode-analyze==1.
|
90
|
-
"robotcode-repl==1.
|
91
|
-
"robotcode-repl-server==1.
|
85
|
+
"robotcode-debugger==1.6.0",
|
86
|
+
"robotcode-language-server==1.6.0",
|
87
|
+
"robotcode-runner==1.6.0",
|
88
|
+
"robotcode-analyze==1.6.0",
|
89
|
+
"robotcode-repl==1.6.0",
|
90
|
+
"robotcode-repl-server==1.6.0",
|
92
91
|
"PyYAML>=5.4",
|
93
92
|
"robotframework-robocop>=2.0.0",
|
94
|
-
"robotframework-tidy>=2.0.0",
|
95
93
|
"docutils",
|
96
94
|
"rich",
|
97
95
|
]
|
@@ -1,4 +1,6 @@
|
|
1
|
+
import json
|
1
2
|
import logging
|
3
|
+
import logging.config
|
2
4
|
from pathlib import Path
|
3
5
|
from typing import Any, List, Literal, Optional
|
4
6
|
|
@@ -35,8 +37,11 @@ click.Parameter.make_metavar = my_make_metavar # type: ignore[method-assign]
|
|
35
37
|
|
36
38
|
|
37
39
|
class RobotCodeFormatter(logging.Formatter):
|
38
|
-
def __init__(self, *args: Any, **kwargs: Any) -> None:
|
39
|
-
|
40
|
+
def __init__(self, *args: Any, defaults: Any = None, **kwargs: Any) -> None:
|
41
|
+
defaults = defaults or {}
|
42
|
+
if defaults.get("indent") is None:
|
43
|
+
defaults["indent"] = ""
|
44
|
+
super().__init__(*args, defaults=defaults, **kwargs)
|
40
45
|
|
41
46
|
|
42
47
|
@click.group(
|
@@ -162,6 +167,21 @@ class RobotCodeFormatter(logging.Formatter):
|
|
162
167
|
help="Enables logging of method/function calls.",
|
163
168
|
show_envvar=True,
|
164
169
|
)
|
170
|
+
@click.option(
|
171
|
+
"--log-config",
|
172
|
+
type=click.Path(
|
173
|
+
file_okay=True,
|
174
|
+
dir_okay=False,
|
175
|
+
readable=True,
|
176
|
+
exists=True,
|
177
|
+
path_type=str,
|
178
|
+
),
|
179
|
+
help="Path to a logging configuration file. This must be a valid Python logging configuration file in JSON format."
|
180
|
+
" If this option is set, the other logging options are ignored.",
|
181
|
+
default=None,
|
182
|
+
show_default=True,
|
183
|
+
show_envvar=True,
|
184
|
+
)
|
165
185
|
@click.option(
|
166
186
|
"--default-path",
|
167
187
|
"-dp",
|
@@ -220,6 +240,7 @@ def robotcode(
|
|
220
240
|
log_style: Literal["%", "{", "$"],
|
221
241
|
log_filename: Optional[str],
|
222
242
|
log_calls: bool,
|
243
|
+
log_config: Optional[Path],
|
223
244
|
default_path: Optional[List[str]],
|
224
245
|
launcher_script: Optional[str] = None,
|
225
246
|
debugpy: bool = False,
|
@@ -257,7 +278,21 @@ def robotcode(
|
|
257
278
|
app.config.log_level = log_level
|
258
279
|
app.config.log_calls = log_calls
|
259
280
|
|
260
|
-
if
|
281
|
+
if log_config:
|
282
|
+
if log_calls:
|
283
|
+
LoggingDescriptor.set_call_tracing(True)
|
284
|
+
|
285
|
+
app.verbose(f"Loading logging configuration from '{log_config}'")
|
286
|
+
try:
|
287
|
+
with open(log_config, "r", encoding="utf-8") as f:
|
288
|
+
config = json.load(f)
|
289
|
+
|
290
|
+
logging.config.dictConfig(config)
|
291
|
+
|
292
|
+
except Exception as e:
|
293
|
+
app.error(f"Failed to load logging configuration from '{log_config}': {e}")
|
294
|
+
|
295
|
+
elif log:
|
261
296
|
if log_calls:
|
262
297
|
LoggingDescriptor.set_call_tracing(True)
|
263
298
|
|
@@ -269,9 +304,7 @@ def robotcode(
|
|
269
304
|
)
|
270
305
|
|
271
306
|
try:
|
272
|
-
logging.root.handlers[0].formatter = RobotCodeFormatter(
|
273
|
-
fmt=log_format, style=log_style, defaults={"indent": ""}
|
274
|
-
)
|
307
|
+
logging.root.handlers[0].formatter = RobotCodeFormatter(fmt=log_format, style=log_style)
|
275
308
|
except TypeError:
|
276
309
|
pass
|
277
310
|
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "1.6.0"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "1.4.0"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|