Skip to content

Commit d32eb6e

Browse files
Merge remote-tracking branch 'origin/main' into mcp-marketplace
2 parents 9fcb4ee + 78bc0c1 commit d32eb6e

File tree

311 files changed

+23660
-4043
lines changed

Some content is hidden

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

311 files changed

+23660
-4043
lines changed

.dockerignore

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Version control
2+
# .git/
3+
# .gitignore
4+
# .gitattributes
5+
# .git-blame-ignore-revs
6+
# .gitconfig
7+
8+
# Build artifacts
9+
bin/
10+
dist/
11+
**/dist/
12+
out/
13+
**/out/
14+
15+
# Dependencies
16+
node_modules/
17+
**/node_modules/
18+
19+
# Test and development files
20+
coverage/
21+
**/.vscode-test/
22+
23+
# Configuration files
24+
# .env*
25+
knip.json
26+
.husky/
27+
28+
# CI/CD
29+
# .changeset/
30+
# .github/
31+
# ellipsis.yaml
32+
33+
# OS specific
34+
.DS_Store
35+
36+
# Logs
37+
logs/
38+
*.log
39+
40+
# Nix
41+
# flake.lock
42+
# flake.nix
43+
44+
# Monorepo
45+
benchmark/exercises/

.github/workflows/changeset-release.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ on:
99
env:
1010
REPO_PATH: ${{ github.repository }}
1111
GIT_REF: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || 'main' }}
12+
NODE_VERSION: 20.18.1
1213

1314
jobs:
1415
# Job 1: Create version bump PR when changesets are merged to main
@@ -33,7 +34,7 @@ jobs:
3334
- name: Setup Node.js
3435
uses: actions/setup-node@v4
3536
with:
36-
node-version: 20
37+
node-version: ${{ env.NODE_VERSION }}
3738
cache: 'npm'
3839

3940
- name: Install Dependencies

.github/workflows/code-qa.yml

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ on:
88
types: [opened, reopened, ready_for_review, synchronize]
99
branches: [main]
1010

11+
env:
12+
NODE_VERSION: 20.18.1
13+
1114
jobs:
1215
compile:
1316
runs-on: ubuntu-latest
@@ -17,7 +20,7 @@ jobs:
1720
- name: Setup Node.js
1821
uses: actions/setup-node@v4
1922
with:
20-
node-version: '18'
23+
node-version: ${{ env.NODE_VERSION }}
2124
cache: 'npm'
2225
- name: Install dependencies
2326
run: npm run install:all
@@ -28,6 +31,21 @@ jobs:
2831
- name: Lint
2932
run: npm run lint
3033

34+
check-translations:
35+
runs-on: ubuntu-latest
36+
steps:
37+
- name: Checkout code
38+
uses: actions/checkout@v4
39+
- name: Setup Node.js
40+
uses: actions/setup-node@v4
41+
with:
42+
node-version: '18'
43+
cache: 'npm'
44+
- name: Install dependencies
45+
run: npm run install:all
46+
- name: Verify all translations are complete
47+
run: node scripts/find-missing-translations.js
48+
3149
knip:
3250
runs-on: ubuntu-latest
3351
steps:
@@ -51,7 +69,7 @@ jobs:
5169
- name: Setup Node.js
5270
uses: actions/setup-node@v4
5371
with:
54-
node-version: '18'
72+
node-version: ${{ env.NODE_VERSION }}
5573
cache: 'npm'
5674
- name: Install dependencies
5775
run: npm run install:all
@@ -106,7 +124,7 @@ jobs:
106124
- name: Setup Node.js
107125
uses: actions/setup-node@v4
108126
with:
109-
node-version: '18'
127+
node-version: ${{ env.NODE_VERSION }}
110128
cache: 'npm'
111129
- name: Install dependencies
112130
run: npm run install:all

.github/workflows/marketplace-publish.yml

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ on:
66

77
env:
88
GIT_REF: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || 'main' }}
9+
NODE_VERSION: 20.18.1
910

1011
jobs:
1112
publish-extension:
@@ -21,15 +22,12 @@ jobs:
2122
- uses: actions/checkout@v4
2223
with:
2324
ref: ${{ env.GIT_REF }}
24-
2525
- uses: actions/setup-node@v4
2626
with:
27-
node-version: 18
28-
27+
node-version: ${{ env.NODE_VERSION }}
2928
- run: |
3029
git config user.name "github-actions[bot]"
3130
git config user.email "github-actions[bot]@users.noreply.github.com"
32-
3331
- name: Install Dependencies
3432
run: |
3533
npm install -g vsce ovsx
@@ -46,14 +44,12 @@ jobs:
4644
echo "$package" | grep -q "extension/webview-ui/build/assets/index.js" || exit 1
4745
echo "$package" | grep -q "extension/node_modules/@vscode/codicons/dist/codicon.ttf" || exit 1
4846
echo "$package" | grep -q ".env" || exit 1
49-
5047
- name: Create and Push Git Tag
5148
run: |
5249
current_package_version=$(node -p "require('./package.json').version")
5350
git tag -a "v${current_package_version}" -m "Release v${current_package_version}"
5451
git push origin "v${current_package_version}"
5552
echo "Successfully created and pushed git tag v${current_package_version}"
56-
5753
- name: Publish Extension
5854
env:
5955
VSCE_PAT: ${{ secrets.VSCE_PAT }}
@@ -62,3 +58,28 @@ jobs:
6258
current_package_version=$(node -p "require('./package.json').version")
6359
npm run publish:marketplace
6460
echo "Successfully published version $current_package_version to VS Code Marketplace"
61+
- name: Create GitHub Release
62+
env:
63+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
64+
run: |
65+
current_package_version=$(node -p "require('./package.json').version")
66+
67+
# Extract changelog for current version
68+
changelog_content=$(awk -v ver="## [${current_package_version}]" '
69+
$0 ~ ver {flag=1; next}
70+
/^## \[/ {if (flag) exit}
71+
flag {print}
72+
' CHANGELOG.md)
73+
74+
# If changelog extraction failed, use a default message
75+
if [ -z "$changelog_content" ]; then
76+
changelog_content="Release v${current_package_version}"
77+
fi
78+
79+
# Create release with changelog content
80+
gh release create "v${current_package_version}" \
81+
--title "Release v${current_package_version}" \
82+
--notes "$changelog_content" \
83+
--target ${{ env.GIT_REF }} \
84+
bin/roo-cline-${current_package_version}.vsix
85+
echo "Successfully created GitHub Release v${current_package_version}"

.github/workflows/update-contributors.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
run: |
3535
npm run update-contributors
3636
npx prettier --write README.md
37-
if git diff --quiet README.md; then echo "changes=false" >> $GITHUB_OUTPUT; else echo "changes=true" >> $GITHUB_OUTPUT; fi
37+
if git diff --quiet; then echo "changes=false" >> $GITHUB_OUTPUT; else echo "changes=true" >> $GITHUB_OUTPUT; fi
3838
id: check-changes
3939
env:
4040
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -44,16 +44,13 @@ jobs:
4444
uses: peter-evans/create-pull-request@v5
4545
with:
4646
token: ${{ secrets.GITHUB_TOKEN }}
47-
add-paths: |
48-
README.md
4947
commit-message: "docs: update contributors list [skip ci]"
5048
committer: "github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>"
5149
branch: update-contributors
52-
branch-suffix: timestamp
5350
delete-branch: true
5451
title: "Update contributors list"
5552
body: |
56-
Automated update of contributors list in README.md
53+
Automated update of contributors list and related files
5754
58-
This PR was created automatically by a GitHub Action workflow.
55+
This PR was created automatically by a GitHub Action workflow and includes all changed files.
5956
base: main

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
lts/*
1+
v20.18.1

.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": "When internationalizing and translating content:\n\n# Translation 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# 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 as it's much faster and more reliable\n- When using apply_diff, make sure to carefully identify the exact JSON structure to edit to avoid syntax errors\n- Always use the Trans component for text with embedded components\n\n# 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- Before completing any translation task, ensure there are no missing translations by running the script with the target locale(s):\n ```\n node scripts/find-missing-translations.js --locale=<locale-code>\n ```\n- Address any missing translations identified by the script to ensure complete coverage across all locales\n\n# Supported Languages\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 translation files are under webview-ui/src/i18n/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- 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",
2626
"groups": [
2727
"read",
2828
"command",

.vscode/extensions.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@
33
// for the documentation about the extensions.json format
44
"recommendations": [
55
"dbaeumer.vscode-eslint",
6-
"connor4312.esbuild-problem-matchers",
7-
"ms-vscode.extension-test-runner",
6+
"esbenp.prettier-vscode",
87
"csstools.postcss",
98
"bradlc.vscode-tailwindcss",
10-
"tobermory.es6-string-html"
9+
"connor4312.esbuild-problem-matchers"
1110
]
1211
}

.vscodeignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
.vscode-test/**
66
out/**
77
out-integration/**
8+
benchmark/**
89
e2e/**
910
node_modules/**
1011
src/**
@@ -27,6 +28,7 @@ demo.gif
2728
.roomodes
2829
cline_docs/**
2930
coverage/**
31+
locales/**
3032

3133
# Ignore all webview-ui files except the build directory (https://github.com/microsoft/vscode-webview-ui-toolkit-samples/blob/main/frameworks/hello-world-react-cra/.vscodeignore)
3234
webview-ui/src/**

CHANGELOG.md

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

3+
## [3.9.2] - 2025-03-19
4+
5+
- Update GitHub Actions workflow to automatically create GitHub Releases (thanks @pdecat!)
6+
- Correctly persist the text-to-speech speed state (thanks @heyseth!)
7+
- Fixes to French translations (thanks @arthurauffray!)
8+
- Optimize build time for local development (thanks @KJ7LNW!)
9+
- VSCode theme fixes for select, dropdown and command components
10+
- Bring back the ability to manually enter a model name in the model picker
11+
- Fix internationalization of the announcement title and the browser
12+
13+
## [3.9.1] - 2025-03-18
14+
15+
- Pass current language to system prompt correctly so Roo thinks and speaks in the selected language
16+
17+
## [3.9.0] - 2025-03-18
18+
19+
- Internationalize Roo Code into Catalan, German, Spanish, French, Hindi, Italian, Japanese, Korean, Polish, Portuguese, Turkish, Vietnamese, Simplified Chinese, and Traditional Chinese (thanks @feifei325!)
20+
- Bring back support for MCP over SSE (thanks @aheizi!)
21+
- Add a text-to-speech option to have Roo talk to you as it works (thanks @heyseth!)
22+
- Choose a specific provider when using OpenRouter (thanks PhunkyBob!)
23+
- Support batch deletion of task history (thanks @aheizi!)
24+
- Internationalize Human Relay, adjust the layout, and make it work on the welcome screen (thanks @NyxJae!)
25+
- Fix shell integration race condition (thanks @KJ7LNW!)
26+
- Fix display updating for Bedrock custom ARNs that are prompt routers (thanks @Smartsheet-JB-Brown!)
27+
- Fix to exclude search highlighting when copying items from task history (thanks @im47cn!)
28+
- Fix context mentions to work with multiple-workspace projects (thanks @teddyOOXX!)
29+
- Fix to task history saving when running multiple Roos (thanks @samhvw8!)
30+
- Improve task deletion when underlying files are missing (thanks @GitlyHallows!)
31+
- Improve support for NixOS & direnv (thanks @wkordalski!)
32+
- Fix wheel scrolling when Roo is opened in editor tabs (thanks @GitlyHallows!)
33+
- Don’t automatically mention the file when using the "Add to context" code action (thanks @qdaxb!)
34+
- Expose task stack in `RooCodeAPI` (thanks @franekp!)
35+
- Give the models visibility into the current task's API cost
36+
337
## [3.8.6] - 2025-03-13
438

539
- Revert SSE MCP support while we debug some config validation issues

0 commit comments

Comments
 (0)