|
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.6.1](https://github.com/robotcodedev/robotcode/compare/v2.6.0..v2.6.1) - 2026-06-14 |
| 6 | + |
| 7 | +### <!-- 1 -->Bug Fixes |
| 8 | + |
| 9 | +- **langserver:** Prevent inconsistent Robocop formatting ([e31ed32](https://github.com/robotcodedev/robotcode/commit/e31ed32fcf6c51b10aa76c56b1bea64d5f1f2ea0)) |
| 10 | + |
| 11 | + Formatting a file with Robocop repeatedly no longer oscillates between states (for example a blank line being added and removed before a section header on every other format). The formatter mutated the shared, cached document model in place; it now works on a fresh, uncached model so repeated formatting stays idempotent. |
| 12 | + |
| 13 | +- **robot:** Recover automatically from a corrupt cache database ([2ec7a9c](https://github.com/robotcodedev/robotcode/commit/2ec7a9c149eb1771ecf02832bafe409c252cbce3)) |
| 14 | + |
| 15 | + The workspace cache database could become corrupt ("database disk image |
| 16 | + is malformed"). Once that happened nothing recovered: restarting the |
| 17 | + language server kept failing while opening the cache, and "Clear Cache |
| 18 | + and Restart Language Servers" failed too because it cleared entries |
| 19 | + through the already-damaged database. |
| 20 | + |
| 21 | + RobotCode now detects a corrupt cache database, discards it (including |
| 22 | + its -wal/-shm sidecars) and rebuilds it from scratch, so the keyword |
| 23 | + view, test discovery and the clear-cache command keep working without |
| 24 | + any manual cleanup. If the file cannot be removed or reopened (for |
| 25 | + example while another editor window holds it open), it falls back to a |
| 26 | + temporary in-memory cache for the session instead of failing to start. |
| 27 | + |
| 28 | + Access to the cache is now serialized so it stays consistent under the |
| 29 | + language server's concurrent requests, and memory-mapped reads are |
| 30 | + disabled on macOS, where they could leave a corrupt page behind. |
| 31 | + |
| 32 | +- **vscode:** Drop selected profiles that no longer exist in the config ([e3bad18](https://github.com/robotcodedev/robotcode/commit/e3bad18f24aaba6b4a71a696a390361ba1c5ce0e)) |
| 33 | + |
| 34 | + When a profile was selected and then removed from robot.toml — for |
| 35 | + example after switching git branches — the selection stayed active. |
| 36 | + This produced a "profile not found" error on every test run, and the |
| 37 | + profile could not be deselected because the selection menu refused to |
| 38 | + open when no profiles were left to choose from. |
| 39 | + |
| 40 | + Now opening "Select Configuration Profiles" removes any selected |
| 41 | + profile that is no longer defined in the configuration and shows a |
| 42 | + message listing which profiles were removed. If the available profiles |
| 43 | + cannot be determined (e.g. an invalid environment), the current |
| 44 | + selection is left untouched. |
| 45 | + |
| 46 | +- Don't pull html-to-markdown into the 'all' extra ([6bf2a6d](https://github.com/robotcodedev/robotcode/commit/6bf2a6d1b41976683f50a36e21fac3ddf26ec12a)) |
| 47 | + |
| 48 | + |
| 49 | + Since version 2.0 html-to-markdown ships as a Rust extension with prebuilt wheels only for a limited set of platforms (manylinux x86_64/aarch64, macOS, win_amd64). On other targets such as 32-bit Raspberry Pi OS (armv7l) or Alpine/musllinux, pip falls back to a source build that needs a Rust toolchain and fails, which broke 'pip install robotcode[all]'. |
| 50 | + |
| 51 | + html-to-markdown only improves HTML log conversion in the 'results' command and has a built-in stdlib fallback, so it is now opt-in via 'pip install robotcode-runner[html]'. |
| 52 | + |
| 53 | + |
| 54 | +### <!-- 2 -->Documentation |
| 55 | + |
| 56 | +- **ai-agents:** Foreground the debugger over the REPL ([0c40394](https://github.com/robotcodedev/robotcode/commit/0c40394d97b503ba05f7bb72d1a988c837ccb61f)) |
| 57 | + |
| 58 | + Make robot-debug the primary tool for working with a real test and |
| 59 | + the REPL the narrower fallback for exploring when no test exists yet. |
| 60 | + Add debugger examples, a debugger-first core-habit entry, a |
| 61 | + troubleshooting item for chasing a failing test instead of debugging |
| 62 | + it, and note that agent output capture and the plain backend apply to |
| 63 | + robot-debug too. |
| 64 | + |
| 65 | +- Add reference page for excluding files with .robotignore ([d8990ec](https://github.com/robotcodedev/robotcode/commit/d8990ec5a4c8d1e8ec97b41548eeb9114b396007)) |
| 66 | + |
| 67 | + |
| 68 | + Documents the .robotignore file: gitignore-style syntax, how it relates to .gitignore (it replaces it rather than merging), nested files, what RobotCode skips by default, where it applies (discovery, analysis, and the language server), how to verify the result with `robotcode discover files`, and how to use it to speed up analysis on large projects. |
| 69 | + |
| 70 | + Also links the new page from the discover `files` reference. |
| 71 | + |
| 72 | + |
5 | 73 | ## [2.6.0](https://github.com/robotcodedev/robotcode/compare/v2.5.1..v2.6.0) - 2026-06-09 |
6 | 74 |
|
7 | 75 | ### <!-- 0 -->Features |
|
0 commit comments