Skip to content

Commit 505284f

Browse files
committed
Merge remote-tracking branch 'new-origin/main' into cline-map-v1
2 parents a8ffa28 + 8ad4fff commit 505284f

File tree

177 files changed

+4584
-1960
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

177 files changed

+4584
-1960
lines changed

.changeset/heavy-eyes-reply.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"roo-cline": patch
3+
---
4+
5+
Add settings migration to support renaming legacy settings files to new format

.changeset/nine-ways-worry.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"roo-cline": patch
3+
---
4+
5+
Add the openAiR1FormatEnabled field to enable this switch in OpenAI compatible mode to support the current QWQ and future additional classes of R1 models.

.changeset/twenty-spoons-shout.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

.husky/pre-commit

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,11 @@ if [ "$branch" = "main" ]; then
55
exit 1
66
fi
77

8-
npx lint-staged
8+
# Detect if running on Windows and use npx.cmd, otherwise use npx
9+
if [ "$OS" = "Windows_NT" ]; then
10+
npx_cmd="npx.cmd"
11+
else
12+
npx_cmd="npx"
13+
fi
14+
15+
"$npx_cmd" lint-staged

.husky/pre-push

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,14 @@ if [ "$branch" = "main" ]; then
55
exit 1
66
fi
77

8-
npm run compile
8+
# Detect if running on Windows and use npm.cmd, otherwise use npm
9+
if [ "$OS" = "Windows_NT" ]; then
10+
npm_cmd="npm.cmd"
11+
else
12+
npm_cmd="npm"
13+
fi
14+
15+
"$npm_cmd" run compile
916

1017
# Check for new changesets.
1118
NEW_CHANGESETS=$(find .changeset -name "*.md" ! -name "README.md" | wc -l | tr -d ' ')

.roomodes

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"slug": "translate",
2323
"name": "Translate",
2424
"roleDefinition": "You are Roo, a linguistic specialist focused on translating and managing localization files. Your responsibility is to help maintain and update translation files for the application, ensuring consistency and accuracy across all language resources.",
25-
"customInstructions": "# 1. SUPPORTED LANGUAGES AND LOCATION\n- Localize all strings into the following locale files: ca, de, en, es, fr, hi, it, ja, ko, pl, pt-BR, tr, vi, zh-CN, zh-TW\n- The VSCode extension has two main areas that require localization:\n * Core Extension: src/i18n/locales/ (extension backend)\n * WebView UI: webview-ui/src/i18n/locales/ (user interface)\n\n# 2. VOICE, STYLE AND TONE\n- Maintain a direct and concise style that mirrors the tone of the original text\n- Carefully account for colloquialisms and idiomatic expressions in both source and target languages\n- Aim for culturally relevant and meaningful translations rather than literal translations\n- Adapt the formality level to match the original content (whether formal or informal)\n- Preserve the personality and voice of the original content\n- Use natural-sounding language that feels native to speakers of the target language\n- Don't translate the word \"token\" as it means something specific in English that all languages will understand\n\n# 3. CORE EXTENSION LOCALIZATION (src/)\n- Located in src/i18n/locales/\n- NOT ALL strings in core source need internationalization - only user-facing messages\n- Internal error messages, debugging logs, and developer-facing messages should remain in English\n- The t() function is used with namespaces like 'core:errors.missingToolParameter'\n- Be careful when modifying interpolation variables; they must remain consistent across all translations\n- Some strings in formatResponse.ts are intentionally not internationalized since they're internal\n- When updating strings in core.json, maintain all existing interpolation variables\n- Check string usages in the codebase before making changes to ensure you're not breaking functionality\n\n# 4. WEBVIEW UI LOCALIZATION (webview-ui/src/)\n- Located in webview-ui/src/i18n/locales/\n- Uses standard React i18next patterns with the useTranslation hook\n- All user interface strings should be internationalized\n- Always use the Trans component for text with embedded components\n\n# 5. TECHNICAL IMPLEMENTATION\n- Use namespaces to organize translations logically\n- Handle pluralization using i18next's built-in capabilities\n- Implement proper interpolation for variables using {{variable}} syntax\n- Don't include defaultValue. The `en` translations are the fallback\n- Always use apply_diff instead of write_to_file when editing existing translation files (much faster and more reliable)\n- When using apply_diff, carefully identify the exact JSON structure to edit to avoid syntax errors\n\n# 6. WORKFLOW AND APPROACH\n- First add or modify English strings, then ask for confirmation before translating to all other languages\n- Use this process for each localization task:\n 1. Identify where the string appears in the UI/codebase\n 2. Understand the context and purpose of the string\n 3. Update English translation first\n 4. Create appropriate translations for all other supported languages\n 5. Validate your changes with the missing translations script\n\n# 7. QUALITY ASSURANCE\n- Maintain consistent terminology across all translations\n- Respect the JSON structure of translation files\n- Watch for placeholders and preserve them in translations\n- Be mindful of text length in UI elements when translating to languages that might require more characters\n- Use context-aware translations when the same string has different meanings\n- Always validate your translation work by running the missing translations script:\n ```\n node scripts/find-missing-translations.js\n ```\n- Address any missing translations identified by the script to ensure complete coverage across all locales",
25+
"customInstructions": "# 1. SUPPORTED LANGUAGES AND LOCATION\n- Localize all strings into the following locale files: ca, de, en, es, fr, hi, it, ja, ko, pl, pt-BR, tr, vi, zh-CN, zh-TW\n- The VSCode extension has two main areas that require localization:\n * Core Extension: src/i18n/locales/ (extension backend)\n * WebView UI: webview-ui/src/i18n/locales/ (user interface)\n\n# 2. VOICE, STYLE AND TONE\n- Always use informal speech (e.g., \"du\" instead of \"Sie\" in German) for all translations\n- Maintain a direct and concise style that mirrors the tone of the original text\n- Carefully account for colloquialisms and idiomatic expressions in both source and target languages\n- Aim for culturally relevant and meaningful translations rather than literal translations\n- Preserve the personality and voice of the original content\n- Use natural-sounding language that feels native to speakers of the target language\n- Don't translate the word \"token\" as it means something specific in English that all languages will understand\n- Don't translate domain-specific words (especially technical terms like \"Prompt\") that are commonly used in English in the target language\n\n# 3. CORE EXTENSION LOCALIZATION (src/)\n- Located in src/i18n/locales/\n- NOT ALL strings in core source need internationalization - only user-facing messages\n- Internal error messages, debugging logs, and developer-facing messages should remain in English\n- The t() function is used with namespaces like 'core:errors.missingToolParameter'\n- Be careful when modifying interpolation variables; they must remain consistent across all translations\n- Some strings in formatResponse.ts are intentionally not internationalized since they're internal\n- When updating strings in core.json, maintain all existing interpolation variables\n- Check string usages in the codebase before making changes to ensure you're not breaking functionality\n\n# 4. WEBVIEW UI LOCALIZATION (webview-ui/src/)\n- Located in webview-ui/src/i18n/locales/\n- Uses standard React i18next patterns with the useTranslation hook\n- All user interface strings should be internationalized\n- Always use the Trans component with named components for text with embedded components\n\n<Trans> example:\n\n`\"changeSettings\": \"You can always change this at the bottom of the <settingsLink>settings</settingsLink>\",`\n\n```\n <Trans\n i18nKey=\"welcome:telemetry.changeSettings\"\n components={{\n settingsLink: <VSCodeLink href=\"#\" onClick={handleOpenSettings} />\n }}\n />\n```\n\n# 5. TECHNICAL IMPLEMENTATION\n- Use namespaces to organize translations logically\n- Handle pluralization using i18next's built-in capabilities\n- Implement proper interpolation for variables using {{variable}} syntax\n- Don't include defaultValue. The `en` translations are the fallback\n- Always use apply_diff instead of write_to_file when editing existing translation files (much faster and more reliable)\n- When using apply_diff, carefully identify the exact JSON structure to edit to avoid syntax errors\n- Placeholders (like {{variable}}) must remain exactly identical to the English source to maintain code integration and prevent syntax errors\n\n# 6. WORKFLOW AND APPROACH\n- First add or modify English strings, then ask for confirmation before translating to all other languages\n- Use this process for each localization task:\n 1. Identify where the string appears in the UI/codebase\n 2. Understand the context and purpose of the string\n 3. Update English translation first\n 4. Create appropriate translations for all other supported languages\n 5. Validate your changes with the missing translations script\n- Flag or comment if an English source string is incomplete (\"please see this...\") to avoid truncated or unclear translations\n- For UI elements, distinguish between:\n * Button labels: Use short imperative commands (\"Save\", \"Cancel\")\n * Tooltip text: Can be slightly more descriptive\n- Preserve the original perspective: If text is a user command directed at the software, ensure the translation maintains this direction, avoiding language that makes it sound like an instruction from the system to the user\n\n# 7. COMMON PITFALLS TO AVOID\n- Switching between formal and informal addressing styles - always stay informal (\"du\" not \"Sie\")\n- Translating or altering technical terms and brand names that should remain in English\n- Modifying or removing placeholders like {{variable}} - these must remain identical\n- Translating domain-specific terms that are commonly used in English in the target language\n- Changing the meaning or nuance of instructions or error messages\n- Forgetting to maintain consistent terminology throughout the translation\n\n# 8. QUALITY ASSURANCE\n- Maintain consistent terminology across all translations\n- Respect the JSON structure of translation files\n- Watch for placeholders and preserve them in translations\n- Be mindful of text length in UI elements when translating to languages that might require more characters\n- Use context-aware translations when the same string has different meanings\n- Always validate your translation work by running the missing translations script:\n ```\n node scripts/find-missing-translations.js\n ```\n- Address any missing translations identified by the script to ensure complete coverage across all locales\n\n# 9. TRANSLATOR'S CHECKLIST\n- ✓ Used informal tone consistently (\"du\" not \"Sie\")\n- ✓ Preserved all placeholders exactly as in the English source\n- ✓ Maintained consistent terminology with existing translations\n- ✓ Kept technical terms and brand names unchanged where appropriate\n- ✓ Preserved the original perspective (user→system vs system→user)\n- ✓ Adapted the text appropriately for UI context (buttons vs tooltips)",
2626
"groups": [
2727
"read",
2828
"command",

.vscodeignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,9 @@ webview-ui/node_modules/**
4848
# Include default themes JSON files used in getTheme
4949
!src/integrations/theme/default-themes/**
5050

51-
# Include icons
51+
# Include icons and images
5252
!assets/icons/**
53+
!assets/images/**
5354

5455
# Include .env file for telemetry
5556
!.env

CHANGELOG.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,43 @@
11
# Roo Code Changelog
22

3+
## [3.10.3] - 2025-03-23
4+
5+
- Update the welcome page to provide 1-click OAuth flows with LLM routers (thanks @dtrugman!)
6+
- Switch to a more direct method of tracking OpenRouter tokens/spend
7+
- Make partial file reads backwards-compatible with custom system prompts and give users more control over the chunk size
8+
- Fix issues where questions and suggestions weren’t showing up for non-streaming models and were hard to read in some themes
9+
- A variety of fixes and improvements to experimental multi-block diff (thanks @KJ7LNW!)
10+
- Fix opacity of drop-down menus in settings (thanks @KJ7LNW!)
11+
- Fix bugs with reading and mentioning binary files like PDFs
12+
- Fix the pricing information for OpenRouter free models (thanks @Jdo300!)
13+
- Fix an issue with our unit tests on Windows (thanks @diarmidmackenzie!)
14+
- Fix a maxTokens issue for the Outbound provider (thanks @pugazhendhi-m!)
15+
- Fix a line number issue with partial file reads (thanks @samhvw8!)
16+
17+
## [3.10.2] - 2025-03-21
18+
19+
- Fixes to context mentions on Windows
20+
- Fixes to German translations (thanks @cannuri!)
21+
- Fixes to telemetry banner internationalization
22+
- Sonnet 3.7 non-thinking now correctly uses 8192 max output tokens
23+
24+
## [3.10.1] - 2025-03-20
25+
26+
- Make the suggested responses optional to not break overriden system prompts
27+
28+
## [3.10.0] - 2025-03-20
29+
30+
- Suggested responses to questions (thanks samhvw8!)
31+
- Support for reading large files in chunks (thanks samhvw8!)
32+
- More consistent @-mention lookups of files and folders
33+
- Consolidate code actions into a submenu (thanks samhvw8!)
34+
- Fix MCP error logging (thanks aheizi!)
35+
- Improvements to search_files tool formatting and logic (thanks KJ7LNW!)
36+
- Fix changelog formatting in GitHub Releases (thanks pdecat!)
37+
- Add fake provider for integration tests (thanks franekp!)
38+
- Reflect Cross-region inference option in ap-xx region (thanks Yoshino-Yukitaro!)
39+
- Fix bug that was causing task history to be lost when using WSL
40+
341
## [3.9.2] - 2025-03-19
442

543
- Update GitHub Actions workflow to automatically create GitHub Releases (thanks @pdecat!)

CONTRIBUTING.md

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,68 @@ Looking for a good first contribution? Check out issues in the "Issue [Unassigne
2626

2727
We also welcome contributions to our [documentation](https://docs.roocode.com/)! Whether it's fixing typos, improving existing guides, or creating new educational content - we'd love to build a community-driven repository of resources that helps everyone get the most out of Roo Code. You can click "Edit this page" on any page to quickly get to the right spot in Github to edit the file, or you can dive directly into https://github.com/RooVetGit/Roo-Code-Docs.
2828

29-
If you're planning to work on a bigger feature, please create a [feature request](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop) first so we can discuss whether it aligns with Roo Code's vision.
29+
If you're planning to work on a bigger feature, please create a [feature request](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop) first so we can discuss whether it aligns with Roo Code's vision. You may also want to check our [Project Roadmap](#project-roadmap) below to see if your idea fits with our strategic direction.
30+
31+
## Project Roadmap
32+
33+
Roo Code has a clear development roadmap that guides our priorities and future direction. Understanding our roadmap can help you:
34+
35+
- Align your contributions with project goals
36+
- Identify areas where your expertise would be most valuable
37+
- Understand the context behind certain design decisions
38+
- Find inspiration for new features that support our vision
39+
40+
Our current roadmap focuses on six key pillars:
41+
42+
### Provider Support
43+
44+
We aim to support as many providers well as we can:
45+
46+
- More versatile "OpenAI Compatible" support
47+
- xAI, Microsoft Azure AI, Alibaba Cloud Qwen, IBM Watsonx, Together AI, DeepInfra, Fireworks AI, Cohere, Perplexity AI, FriendliAI, Replicate
48+
- Enhanced support for Ollama and LM Studio
49+
50+
### Model Support
51+
52+
We want Roo to work as well on as many models as possible, including local models:
53+
54+
- Local model support through custom system prompting and workflows
55+
- Benchmarking evals and test cases
56+
57+
### System Support
58+
59+
We want Roo to run well on everyone's computer:
60+
61+
- Cross platform terminal integration
62+
- Strong and consistent support for Mac, Windows, and Linux
63+
64+
### Documentation
65+
66+
We want comprehensive, accessible documentation for all users and contributors:
67+
68+
- Expanded user guides and tutorials
69+
- Clear API documentation
70+
- Better contributor guidance
71+
- Multilingual documentation resources
72+
- Interactive examples and code samples
73+
74+
### Stability
75+
76+
We want to significantly decrease the number of bugs and increase automated testing:
77+
78+
- Debug logging switch
79+
- "Machine/Task Information" copy button for sending in with bug/support requests
80+
81+
### Internationalization
82+
83+
We want Roo to speak everyone's language:
84+
85+
- 我们希望 Roo Code 说每个人的语言
86+
- Queremos que Roo Code hable el idioma de todos
87+
- हम चाहते हैं कि Roo Code हर किसी की भाषा बोले
88+
- نريد أن يتحدث Roo Code لغة الجميع
89+
90+
We especially welcome contributions that advance our roadmap goals. If you're working on something that aligns with these pillars, please mention it in your PR description.
3091

3192
## Development Setup
3293

0 commit comments

Comments
 (0)