Commit graph

3767 commits

Author SHA1 Message Date
github-actions[bot]
7261efbdec
Update contributors list (#2317)
docs: update contributors list [skip ci]

Co-authored-by: mrubens <mrubens@users.noreply.github.com>
2025-04-05 18:22:40 -04:00
Diarmid Mackenzie
7661ef97cd
Tidy up following ClineProvider refactor (#2182)
* Remove unused imports

* Restore protected status for mcpHub property

* More mcpHub tidy-up

* Remove need for access to private "view" property

Increase type flexibility so we can directly use postMessageToWebview()

* Make ensureCacheDirectoryExists private again

expose new public writeDataToCache() method to commonize code.
also decided to leave updateApiConfiguration as public, since widely used in diverse ways.

* Match naming of readModelsFromCache.

Symmetric naming of functions that complement each other.

* Decision: Leave readModelsFromCache as public

* Make updateGlobalState and setGlobalState private again

Stop using deprecated (private) method.  Use contextProxy set/getValue methods instead.
Utility functions provided for brevity.

* Add clarifying comment to explain presence of utility functions

* Prefer this/provider.log over outputChannel.appendLine

log is already public, outputChannel should be private.
But also prefer log internally for the additional value of console logging, plus code brevity.

* Lock down access to properties as far as reasonably possible

* PR feedback - don't relax type checks

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-05 18:00:23 -04:00
R00-B0T
70528034bd
Changeset version bump (#2332)
* changeset version bump

* Updating CHANGELOG.md format

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: R00-B0T <github-actions@github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-05 17:20:52 -04:00
Matt Rubens
e8624e821e
v3.11.8 (#2331) 2025-04-05 17:09:28 -04:00
Yu SERIZAWA
2a2bb8436b
fix: correct nodejs version format in .tool-versions file (#2307) 2025-04-05 16:54:05 -04:00
Yu SERIZAWA
d6d5670e38
feat: Add support for .roorules configuration files (#2309)
* feat: Add support for .roorules configuration files

- Add .roorules to the list of supported rule files
- Improve mode-specific rule file handling to prioritize .roorules over .clinerules
- Update file loading logic to track which rule file was successfully loaded
- Add test cases for .roorules functionality

This change maintains backward compatibility with existing .clinerules while
introducing support for the new .roorules format as the preferred configuration
method.

* refactor: simplify rule file loading by removing unused rules

- Removed .cursorrules and .windsurfrules from the list of rule files in loadRuleFiles function.

* refactor: update loadRuleFiles to return single rule file content

- Modified loadRuleFiles function to return content from the first available rule file instead of combining multiple rule files.
- Updated tests to reflect the new behavior of loading only the .roorules file content when available, ensuring clarity in rule file handling.

* fix: update prompts for deprecated rule file references

- Updated prompts in the English locale to reflect the deprecation of .clinerules in favor of .roorules.
- Added notes in the prompts indicating that .clinerules will stop working soon, ensuring users are aware of the upcoming changes.

* Translations

* Update links

* Revert README changes

* Add missing spans around links

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-05 14:55:07 -04:00
Kyle Hoskins
8fe70e36c3
Improve combineApiRequests performance (#2318)
* Improve combineApiRequests performance

* One more optimization, and more tests

---------

Co-authored-by: cte <cestreich@gmail.com>
2025-04-05 10:51:00 -07:00
Sam Hoang Van
c81d359064
fix: history search highlight (#2176)
* fix: history search hightlight

* fix: update history item highlight style to use underline
2025-04-05 11:06:16 -04:00
Sam Hoang Van
bf648856ba
feat: add workspace tracking to history items (#2054)
Track the current workspace path in history items to enable filtering and organization of history by workspace. This change adds the workspace property to the history schema and ensures it's saved with each history entry.
2025-04-05 08:23:10 -04:00
Sam Hoang Van
60f9221d69
feat(settings): add searchable dropdown to API config profiles setting page (#2221)
- Replace Select with Command+Popover components in ApiConfigManager
- Add search functionality to filter configuration profiles
- Add clear search button and selected item indicator
- Add internationalization support for all languages
- Match UX pattern from ModelPicker component for consistency
2025-04-05 00:56:54 -04:00
github-actions[bot]
39e4f498e5
Update contributors list (#2315)
docs: update contributors list [skip ci]

Co-authored-by: mrubens <mrubens@users.noreply.github.com>
2025-04-05 00:25:43 -04:00
R00-B0T
3bf79ca295
Changeset version bump (#2316)
* changeset version bump

* Updating CHANGELOG.md format

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: R00-B0T <github-actions@github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-05 00:04:07 -04:00
Matt Rubens
b73b10c60f
v3.11.7 (#2314) 2025-04-04 23:58:56 -04:00
Hannes Rudolph
3f6e07adf1
refactor(mcp): Implement reference counting for McpHub lifecycle (#2310)
Problem:
Closing auxiliary windows (e.g., from "open in editor") could prematurely dispose the shared singleton McpHub instance, shutting down MCP servers unexpectedly while other panels (like the sidebar) might still be active.

Solution:
Implemented reference counting directly within the McpHub class to manage its own lifecycle based on active clients (ClineProvider instances).
- Added `refCount`, `registerClient()`, and `unregisterClient()` methods to McpHub.
- McpHub now disposes itself only when the last registered client unregisters (`refCount` reaches 0).
- ClineProvider instances now call `mcpHub.registerClient()` upon initialization and `mcpHub.unregisterClient()` upon disposal.
- Removed the direct `mcpHub.dispose()` call from ClineProvider.dispose.

Benefit:
This ensures the shared McpHub instance remains active as long as at least one ClineProvider instance is using it. Cleanup now correctly occurs only when the last provider is closed or during full extension deactivation. This centralizes the resource's lifecycle logic within the resource class itself.

Files Changed:
- src/services/mcp/McpHub.ts
- src/core/webview/ClineProvider.ts
2025-04-04 23:14:05 -04:00
Kyle Hoskins
6ece39e1d1
Updated buttons to @/components/ui/button (#2312) 2025-04-04 23:04:29 -04:00
System233
8d045a4c08
Improve Simplified Chinese translations (#2306) 2025-04-04 22:23:57 -04:00
Peter Dave Hello
359a2f5442
Improve zh-TW Traditional Chinese locale (#2305)
Continuously improve the translation for a better quality.
2025-04-04 22:22:48 -04:00
Hannes Rudolph
951cefc0fc
Refactor: Improve file tool context formatting and diff error guidance (#2278)
* refactor: Change read_file result format to XML

Modifies how the result of the `read_file` tool is presented
in the conversation history sent to the AI model.

Previously, the format was:
[read_file for 'path/to/file'] Result:
{content_or_error}

This commit changes the format to use XML tags for better
structure and potentially easier parsing by the model:
<file>
  <path>path/to/file</path>
  <content>
{content_or_error}
  </content>
</file>

This change only affects the `read_file` tool result formatting
within the user context message constructed in `src/core/Cline.ts`.
Other tool result formats remain unchanged.

* fix: Update error message for better clarity in multi-search-replace strategy

Refines the error message returned when no sufficiently similar match is found during the multi-search-replace operation. The message now includes a clearer instruction to use the read_file tool for obtaining the latest file content before attempting to apply the diff again.

* refactor: Update readFileTool to return results in XML format

Modifies the `readFileTool` function to format the output as XML, enhancing the structure of the returned file content. This change aligns with previous updates to ensure consistent result formatting across tools.

* refactor: Simplify result handling for tool responses in Cline

This update refines the handling of tool responses in the `Cline` class by removing the XML formatting for `read_file` results and consolidating the logic for pushing results to the user message content. The changes ensure that all tool results are processed uniformly, improving code clarity and maintainability.

* test: Update read_file tests to validate XML formatted results

This commit modifies the assertions in the `read_file` tool tests to check for the expected XML format in the results. The changes ensure that the output structure aligns with recent updates to the tool's response formatting, enhancing test accuracy and reliability.

* test: Refactor assertions in read_file tests to use expected XML variable

This commit updates the `read_file` tool tests to utilize a predefined variable for the expected XML output, improving readability and maintainability of the test code. The changes ensure consistency in the expected results across multiple test cases.
2025-04-04 18:26:25 -04:00
R00-B0T
44ad7b6690
Changeset version bump (#2301)
* changeset version bump

* Updating CHANGELOG.md format

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: R00-B0T <github-actions@github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-04 15:14:24 -04:00
Matt Rubens
e2a8ec8d0e
Add the gemini 2.5 pro preview model with upper bound pricing (#2300) 2025-04-04 15:12:18 -04:00
Chris Estreich
f747215988
Improve evals settings import (#2298) 2025-04-04 10:33:32 -07:00
Chris Estreich
8f356711f1
Ironing out some kinks when running evals with high parallelism (#2280) 2025-04-04 09:08:12 -07:00
R00-B0T
72d1a90c50
Changeset version bump (#2284)
* changeset version bump

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-04 02:23:52 -04:00
Matt Rubens
16c1ab9ab5
Revert "Better logic for choosing the view column when opening Roo in a tab" (#2285)
* Revert "Better logic for choosing the view column when opening Roo in a tab (…"

This reverts commit 7eea755703.

* Create hip-pumpkins-mate.md
2025-04-04 02:14:33 -04:00
github-actions[bot]
98b04eb8d1
Update contributors list (#2272)
docs: update contributors list [skip ci]

Co-authored-by: mrubens <mrubens@users.noreply.github.com>
2025-04-04 02:14:07 -04:00
Matt Rubens
664a424356
v3.11.5 (#2283)
* v3.11.5

* Update announcement
2025-04-04 01:42:26 -04:00
Povilas Kanapickas
50eed96087
fix: Improve handling of escaped markers in apply_diff (#2274)
* fix: Improve handling of escaped markers in apply_diff

unescapeMarkers() is supposed to fix escaped merge conflict markers so
that they match the code. However the function has a bug which requires
SEARCH and REPLACE strings in the markers to be replaced. This is not
part of merge conflict markers, so many valid cases were previously
missed.

* Revert test changes

* Add new test

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-04 00:46:51 -04:00
Matt Rubens
7eea755703
Better logic for choosing the view column when opening Roo in a tab (#2282)
* Better logic for choosing the view column when opening Roo in a tab

* PR feedback
2025-04-03 23:59:17 -04:00
Matt Rubens
5ef0a6a8ce
Update LICENSE (#2275) 2025-04-03 23:54:26 -04:00
Matt Rubens
1a0117b009
Show menu buttons in tab view (#2281)
* Show menu buttons in tab view

* PR feedback
2025-04-03 23:35:22 -04:00
Povilas Kanapickas
065c5ab222
fix: Improve error message when apply_diff structure is invalid (#2260)
Currently all errors in apply_diff diff structure are assumed to be
related to merge conflicts. This is unfortunate because it is way more
likely that LLM simply made an error structuring the diff. The LLM is
then directed to fix escaping in the diff from which it doesn't recover.

It is safe to assume that missing or extra "<<<<<<< SEARCH" or ">>>>>>>
REPLACE" strings are likely bad diff structure, because while "<<<<<<<"
and ">>>>>>>" are common merge conflict markers, no tools add "SEARCH"
and "REPLACE" strings after them. This is likely output of the LLM
itself.

LLM not recovering has been observed in Claude 3.5 Sonnet and Claude 3.7
Sonnet models.

To address the issue, error message now mentions merge conflict markers
and their escaping only if it's clear that errors may come from this
source. In the rest of cases the error message repeats the expected diff
structure back to the LLM.
2025-04-03 16:43:57 -04:00
Matt Rubens
d2f9970654
Roo Vet -> Roo Code (#2269) 2025-04-03 15:57:20 -04:00
jdavis
b38b40656c
mcp supports cwd config and defaults to workspace cwd (#2171)
* mcp supports cwd config and defaults to workspace cwd

* clean up

* Update src/services/mcp/McpHub.ts

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-04-03 15:08:21 -04:00
github-actions[bot]
e7a1db83c0
Update contributors list (#2252)
docs: update contributors list [skip ci]

Co-authored-by: mrubens <mrubens@users.noreply.github.com>
2025-04-03 13:08:39 -04:00
Smartsheet-JB-Brown
919bb121d0
Jbbrown/bedrock caching (#2071)
* Bedrock prompt caching

* remove whitespace only change to src/api/providers/base-provider.ts

* remove integration test that calls bedrock

* PR prep cleanup

* test file and redundant code cleanup

* updated multi-cache-point

* optimized cache strategy

* cache logic updated. commit before trying to simplify newConversationPlacements

* simplified initial cachePoint logic

* fix the missing caching params for claude 3.7 on bedrock

* undo unintentional changes to README.md files

* fix merge bug that hid use prompt cache checkbox

* prep for PR

* remove unintended changes

* revert .gitignore change

* undo unintended changes

* Issue 1998 - Unable to use ARN. https://github.com/RooVetGit/Roo-Code/issues/1998 - Simplify region extraction from Arns. Change example of ARN use from the foundational model ARN to an inference profile ARN which is what is needed.

* small updates to error message

* more flexible support for ARNs and hardening of ARN handling

* update comment on regex use for platform indipendent cosideration

* small code comment update

* remove duplicative logic to add a region to the arn when cross-region is selected

* Update README files from main branch

* improve error handling when on-demand throughput is not avialable for a foundational model

* fix prompt router bug

* minor tweaks for simplicity

* error messgae formatting

* set new version of bedrock runtime package

* fixes: 2229 - complete prompt doesn't work and appears like a no-op

* remove commented out logger.debug blocks per PR review request

* localize new prompt cache UI inputs

* single source of truth for AWS Region information

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-03 13:05:29 -04:00
Diarmid Mackenzie
43d1ab33da
Fix for focus grabbing when follow-up returns + Unit Test (#2263) 2025-04-03 12:38:17 -04:00
Matt Rubens
3f5f8bb81f
Remove code for old diff strategies (#2262) 2025-04-03 11:09:02 -04:00
Povilas Kanapickas
552ed0e986
chore: Add more multi-block tests for apply_diff tool (#2261) 2025-04-03 10:55:05 -04:00
Greg Taylor
a3e6c912b0
Add profile management functions to API (#2251)
Co-authored-by: Greg Taylor <gregtaylor@netflix.com>
2025-04-03 01:40:07 -04:00
R00-B0T
6534f5afe4
Changeset version bump (#2204)
* changeset version bump

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-03 00:52:04 -04:00
Matt Rubens
dbefa7262e
v3.11.4 (#2250) 2025-04-03 00:34:26 -04:00
Thomas Jeung
e9bcee5e2a
feat: Add support for Azure AI Inference Service with DeepSeek-V3 model (#2241)
* feat: Add support for Azure AI Inference Service with DeepSeek-V3 model

* refactor: extract Azure AI inference path to constant to avoid duplication

* fix(tests): update RequestyHandler tests to properly handle Azure inference and streaming

* fix(api): remove duplicate constant and update requesty tests

* refactor: remove unused isAzure property from OpenAiHandler

* refactor(openai): remove unused isAzure and extract Azure check
2025-04-03 00:29:56 -04:00
Chris Estreich
49a61ca30f
Support bash 3.x in our evals setup script (#2248) 2025-04-02 20:53:36 -07:00
github-actions[bot]
71bdd72ca8
Update contributors list (#2203)
docs: update contributors list [skip ci]

Co-authored-by: mrubens <mrubens@users.noreply.github.com>
2025-04-02 23:27:44 -04:00
Matt Rubens
3d53386f1e
Remove the experimental unified diff (#2246) 2025-04-02 23:13:46 -04:00
Chris Estreich
e050043e58
Typos + promisify exec calls (#2243) 2025-04-02 17:12:03 -07:00
Chris Estreich
d15f813514
Evals (#2238)
* Evals

* Remove redundant line

* Fix tsc error

* Disable debug mode

* Add option to kill run
2025-04-02 16:49:41 -07:00
Matt Rubens
24a46698f3
Fix tree sitter to output 1-based line numbers (#2236) 2025-04-02 17:29:52 -04:00
Chris Estreich
42f7465666
Add a mode switched event, better mode switch e2e test (#2237) 2025-04-02 14:25:11 -07:00
Peter Dave Hello
c4af8cadbd
Improve zh-TW Traditional Chinese locale (#2233) 2025-04-02 16:48:28 -04:00