robotcode 2.3.1__tar.gz → 2.4.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-2.3.1 → robotcode-2.4.0}/CHANGELOG.md +101 -0
- {robotcode-2.3.1 → robotcode-2.4.0}/PKG-INFO +7 -7
- {robotcode-2.3.1 → robotcode-2.4.0}/pyproject.toml +6 -6
- robotcode-2.4.0/src/robotcode/cli/__version__.py +1 -0
- robotcode-2.3.1/src/robotcode/cli/__version__.py +0 -1
- {robotcode-2.3.1 → robotcode-2.4.0}/.gitignore +0 -0
- {robotcode-2.3.1 → robotcode-2.4.0}/LICENSE.txt +0 -0
- {robotcode-2.3.1 → robotcode-2.4.0}/README.md +0 -0
- {robotcode-2.3.1 → robotcode-2.4.0}/hatch.toml +0 -0
- {robotcode-2.3.1 → robotcode-2.4.0}/src/robotcode/cli/__init__.py +0 -0
- {robotcode-2.3.1 → robotcode-2.4.0}/src/robotcode/cli/__main__.py +0 -0
- {robotcode-2.3.1 → robotcode-2.4.0}/src/robotcode/cli/commands/__init__.py +0 -0
- {robotcode-2.3.1 → robotcode-2.4.0}/src/robotcode/cli/commands/config.py +0 -0
- {robotcode-2.3.1 → robotcode-2.4.0}/src/robotcode/cli/commands/profiles.py +0 -0
- {robotcode-2.3.1 → robotcode-2.4.0}/src/robotcode/cli/py.typed +0 -0
|
@@ -2,6 +2,107 @@
|
|
|
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
|
+
## [2.4.0](https://github.com/robotcodedev/robotcode/compare/v2.3.1..v2.4.0) - 2026-03-17
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **dependencies:** Update click version to 8.2.0 in requirements files ([6e1220e](https://github.com/robotcodedev/robotcode/commit/6e1220e0542dc12a37dcb6c489d1653238ffbe8e))
|
|
10
|
+
- **vscode:** Fix invalid glob pattern in selectConfigurationProfiles ([58b5a8f](https://github.com/robotcodedev/robotcode/commit/58b5a8f1d1b8a2363a08b7872e20519316a44025))
|
|
11
|
+
|
|
12
|
+
Remove extra closing brace in the file extension glob pattern that
|
|
13
|
+
caused workspace folder detection to fail when selecting configuration
|
|
14
|
+
profiles.
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Features
|
|
19
|
+
|
|
20
|
+
- **plugin:** Add fast exit option to Application.exit method ([acfa7e9](https://github.com/robotcodedev/robotcode/commit/acfa7e9a2d6b138f487183e19b8700d2e88db313))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### Performance
|
|
24
|
+
|
|
25
|
+
- **diagnostics:** Skip full AST model parsing when no robotcode: markers present ([7b3999e](https://github.com/robotcodedev/robotcode/commit/7b3999e203209c67613f27fecacc943ac981d824))
|
|
26
|
+
- **robot:** Cache LibraryDoc for robot and resource files on disk ([9b89623](https://github.com/robotcodedev/robotcode/commit/9b896236c2590571fd5cb4cd95fbb156d0929cb1))
|
|
27
|
+
|
|
28
|
+
Resource and robot files are now cached on disk between sessions.
|
|
29
|
+
On subsequent opens, imports, keywords, and variables from these
|
|
30
|
+
files are loaded from cache instead of being re-parsed, resulting
|
|
31
|
+
in faster startup and quicker response times when navigating
|
|
32
|
+
projects with many resource files.
|
|
33
|
+
|
|
34
|
+
The cache is automatically invalidated when a file is modified
|
|
35
|
+
on disk. Files that are currently open in the editor always use
|
|
36
|
+
the live content and bypass the disk cache.
|
|
37
|
+
|
|
38
|
+
- **robot:** Remove unnecessary token list caching from document cache ([5f8591d](https://github.com/robotcodedev/robotcode/commit/5f8591d9a079261769d4a2c718c53124c22d510b))
|
|
39
|
+
|
|
40
|
+
Token lists were cached separately in document._cache, but only used
|
|
41
|
+
as intermediate input for AST model building. No external caller ever
|
|
42
|
+
accessed the cached token lists directly.
|
|
43
|
+
|
|
44
|
+
Move token generation into model builder methods so tokens are only
|
|
45
|
+
produced on cache miss. On cache hit, neither tokenization nor model
|
|
46
|
+
building occurs.
|
|
47
|
+
|
|
48
|
+
- Eliminates up to 6 cached token lists per document in Language Server
|
|
49
|
+
- No behavior change for CLI (tokens were already uncached for version=None)
|
|
50
|
+
- Remove ~80 lines of redundant caching infrastructure
|
|
51
|
+
|
|
52
|
+
- **robot:** Use file_id tuples instead of os.path.samefile for path comparison ([3f3bd84](https://github.com/robotcodedev/robotcode/commit/3f3bd8430a5c745bae6d0274ab4001acbe73044e))
|
|
53
|
+
|
|
54
|
+
Replace repeated os.path.samefile() calls (2x stat per call) in namespace
|
|
55
|
+
import loops with pre-computed (st_dev, st_ino) tuple comparisons.
|
|
56
|
+
|
|
57
|
+
- Add FileId type, file_id() and same_file_id() to core utils
|
|
58
|
+
- Add lazy source_id property to LibraryDoc (excluded from pickle)
|
|
59
|
+
- Pre-compute source_id on Namespace init
|
|
60
|
+
- Compute file_id once per find_resource result instead of per-iteration
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
### Refactor
|
|
65
|
+
|
|
66
|
+
- **imports_manager:** Cleanup and fix correctness issues ([25ef49c](https://github.com/robotcodedev/robotcode/commit/25ef49c3ea0fec68f4f36a702e8f20a3c32c5537))
|
|
67
|
+
- **robot:** Remove unnecessary finalizers and dispose chain ([eaa7e14](https://github.com/robotcodedev/robotcode/commit/eaa7e14e2672cbf8da49a2eb58205384bd34c9cf))
|
|
68
|
+
|
|
69
|
+
Remove redundant _release_watchers_finalizer from _ImportEntry — file
|
|
70
|
+
watcher cleanup is already handled explicitly by _remove_file_watcher()
|
|
71
|
+
during invalidation and by server_shutdown() at LS shutdown.
|
|
72
|
+
|
|
73
|
+
Remove the _dispose_finalizer/dispose() chain through ImportsManager,
|
|
74
|
+
DocumentsCacheHelper, RobotFrameworkLanguageProvider, CodeAnalyzer, and
|
|
75
|
+
CLI. With the per-entry finalizers gone, these only cleared dicts that
|
|
76
|
+
Python already cleans up at process exit.
|
|
77
|
+
|
|
78
|
+
Fix broken finalizer in Workspace.add_file_watchers() where the closure
|
|
79
|
+
captured the entry object, preventing it from ever being garbage
|
|
80
|
+
collected.
|
|
81
|
+
|
|
82
|
+
Set atexit=False on sentinel finalizers so they only fire during normal
|
|
83
|
+
GC (needed for LS live cleanup), not at interpreter shutdown.
|
|
84
|
+
|
|
85
|
+
- **robot:** Replace __del__ with weakref.finalize in imports_manager ([e0e8d81](https://github.com/robotcodedev/robotcode/commit/e0e8d81219d1da8682839ab804cbc94408cf7d3f))
|
|
86
|
+
|
|
87
|
+
Replace fragile `__del__` methods with `weakref.finalize` in both
|
|
88
|
+
`_ImportEntry` and `ImportsManager` for reliable cleanup:
|
|
89
|
+
|
|
90
|
+
- _ImportEntry: register finalizer in __init__ with file_watchers list
|
|
91
|
+
and file_watcher_manager as strong refs (no self access needed);
|
|
92
|
+
change _remove_file_watcher to use .clear() instead of = []
|
|
93
|
+
- ImportsManager: register finalizer lazily in executor property when
|
|
94
|
+
ProcessPoolExecutor is created; add static _shutdown_executor callback
|
|
95
|
+
|
|
96
|
+
weakref.finalize is guaranteed to run even with circular references
|
|
97
|
+
and does not prevent garbage collection of reference cycles.
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
### Testing
|
|
102
|
+
|
|
103
|
+
- Add library folder to test project ([45c410f](https://github.com/robotcodedev/robotcode/commit/45c410f452393068afbff24b68f28ef6cd0936d0))
|
|
104
|
+
|
|
105
|
+
|
|
5
106
|
## [2.3.1](https://github.com/robotcodedev/robotcode/compare/v2.3.0..v2.3.1) - 2026-03-12
|
|
6
107
|
|
|
7
108
|
### Bug Fixes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: robotcode
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.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
|
|
@@ -48,23 +48,23 @@ Requires-Dist: robotcode-repl-server; extra == 'all'
|
|
|
48
48
|
Requires-Dist: robotcode-runner; extra == 'all'
|
|
49
49
|
Requires-Dist: robotframework-robocop>=6.0.0; extra == 'all'
|
|
50
50
|
Provides-Extra: analyze
|
|
51
|
-
Requires-Dist: robotcode-analyze==2.
|
|
51
|
+
Requires-Dist: robotcode-analyze==2.4.0; extra == 'analyze'
|
|
52
52
|
Provides-Extra: colored
|
|
53
53
|
Requires-Dist: rich; extra == 'colored'
|
|
54
54
|
Provides-Extra: debugger
|
|
55
|
-
Requires-Dist: robotcode-debugger==2.
|
|
55
|
+
Requires-Dist: robotcode-debugger==2.4.0; extra == 'debugger'
|
|
56
56
|
Provides-Extra: languageserver
|
|
57
|
-
Requires-Dist: robotcode-language-server==2.
|
|
57
|
+
Requires-Dist: robotcode-language-server==2.4.0; extra == 'languageserver'
|
|
58
58
|
Provides-Extra: lint
|
|
59
59
|
Requires-Dist: robotframework-robocop>=2.0.0; extra == 'lint'
|
|
60
60
|
Provides-Extra: repl
|
|
61
|
-
Requires-Dist: robotcode-repl==2.
|
|
61
|
+
Requires-Dist: robotcode-repl==2.4.0; extra == 'repl'
|
|
62
62
|
Provides-Extra: replserver
|
|
63
|
-
Requires-Dist: robotcode-repl-server==2.
|
|
63
|
+
Requires-Dist: robotcode-repl-server==2.4.0; extra == 'replserver'
|
|
64
64
|
Provides-Extra: rest
|
|
65
65
|
Requires-Dist: docutils; extra == 'rest'
|
|
66
66
|
Provides-Extra: runner
|
|
67
|
-
Requires-Dist: robotcode-runner==2.
|
|
67
|
+
Requires-Dist: robotcode-runner==2.4.0; extra == 'runner'
|
|
68
68
|
Provides-Extra: yaml
|
|
69
69
|
Requires-Dist: pyyaml>=5.4; extra == 'yaml'
|
|
70
70
|
Description-Content-Type: text/markdown
|
|
@@ -52,15 +52,15 @@ dependencies = ["robotcode-core", "robotcode-plugin", "robotcode-robot"]
|
|
|
52
52
|
dynamic = ["version"]
|
|
53
53
|
|
|
54
54
|
[project.optional-dependencies]
|
|
55
|
-
debugger = ["robotcode-debugger==2.
|
|
56
|
-
languageserver = ["robotcode-language-server==2.
|
|
57
|
-
runner = ["robotcode-runner==2.
|
|
58
|
-
analyze = ["robotcode-analyze==2.
|
|
55
|
+
debugger = ["robotcode-debugger==2.4.0"]
|
|
56
|
+
languageserver = ["robotcode-language-server==2.4.0"]
|
|
57
|
+
runner = ["robotcode-runner==2.4.0"]
|
|
58
|
+
analyze = ["robotcode-analyze==2.4.0"]
|
|
59
59
|
yaml = ["PyYAML>=5.4"]
|
|
60
60
|
lint = ["robotframework-robocop>=2.0.0"]
|
|
61
61
|
rest = ["docutils"]
|
|
62
|
-
repl = ["robotcode-repl==2.
|
|
63
|
-
replserver = ["robotcode-repl-server==2.
|
|
62
|
+
repl = ["robotcode-repl==2.4.0"]
|
|
63
|
+
replserver = ["robotcode-repl-server==2.4.0"]
|
|
64
64
|
colored = ["rich"]
|
|
65
65
|
all = [
|
|
66
66
|
"robotcode-debugger",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.4.0"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "2.3.1"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|