Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -471,7 +471,7 @@
- Refactor: Consolidate ThinkingBudget components and fix disable handling (PR #9930 by @hannesrudolph)
- Forbid time estimates in architect mode for more focused planning (PR #9931 by @app/roomote)
- Web: Add product pages (PR #9865 by @brunobergher)
- Make eval runs deleteable in the web UI (PR #9909 by @mrubens)
- Make eval runs deletable in the web UI (PR #9909 by @mrubens)
- Feat: Change defaultToolProtocol default from xml to native (later reverted) (PR #9892 by @app/roomote)

## [3.36.2] - 2025-12-04
Expand Down Expand Up @@ -1519,7 +1519,7 @@
- Add: Mistral embedding provider (thanks @SannidhyaSah!)
- Fix: add run parameter to vitest command in rules (thanks @KJ7LNW!)
- Update: the max_tokens fallback logic in the sliding window
- Fix: Bedrock and Vertext token counting improvements (thanks @daniel-lxs!)
- Fix: Bedrock and Vertex token counting improvements (thanks @daniel-lxs!)
- Add: llama-4-maverick model to Vertex AI provider (thanks @MuriloFP!)
- Fix: properly distinguish between user cancellations and API failures
- Fix: add case sensitivity mention to suggested fixes in apply_diff error message
Expand Down Expand Up @@ -1829,7 +1829,7 @@
- Sync BatchDiffApproval styling with BatchFilePermission for UI consistency (thanks @samhvw8!)
- Add max height constraint to MCP execution response for better UX (thanks @samhvw8!)
- Prevent MCP 'installed' label from being squeezed #4630 (thanks @daniel-lxs!)
- Allow a lower context condesning threshold (thanks @SECKainersdorfer!)
- Allow a lower context condensing threshold (thanks @SECKainersdorfer!)
- Avoid type system duplication for cleaner codebase (thanks @EamonNerbonne!)

## [3.20.1] - 2025-06-12
Expand Down Expand Up @@ -1986,7 +1986,7 @@

## [3.18.2] - 2025-05-23

- Fix vscode-material-icons in the filer picker
- Fix vscode-material-icons in the file picker
- Fix global settings export
- Respect user-configured terminal integration timeout (thanks @KJ7LNW)
- Context condensing enhancements (thanks @SannidhyaSah)
Expand Down Expand Up @@ -2104,7 +2104,7 @@
- Add vertical tab navigation to the settings (thanks @dlab-anton)
- Add Groq and Chutes API providers (thanks @shariqriazz)
- Clickable code references in code block (thanks @KJ7LNW)
- Improve accessibility of ato-approve toggles (thanks @Deon588)
- Improve accessibility of auto-approve toggles (thanks @Deon588)
- Requesty provider fixes (thanks @dtrugman)
- Fix migration and persistence of per-mode API profiles (thanks @alasano)
- Fix usage of `path.basename` in the extension webview (thanks @samhvw8)
Expand Down Expand Up @@ -2166,7 +2166,7 @@
- Fix file mentions for filenames containing spaces
- Improve the auto-approve toggle buttons for some high-contrast VSCode themes
- Offload expensive count token operations to a web worker (thanks @samhvw8)
- Improve support for mult-root workspaces (thanks @snoyiatk)
- Improve support for multi-root workspaces (thanks @snoyiatk)
- Simplify and streamline Roo Code's quick actions
- Allow Roo Code settings to be imported from the welcome screen (thanks @julionav)
- Remove unused types (thanks @wkordalski)
Expand Down Expand Up @@ -2572,7 +2572,7 @@
- Custom ARNs in Amazon Bedrock (thanks @Smartsheet-JB-Brown!)
- Update MCP servers directory path for platform compatibility (thanks @hannesrudolph!)
- Fix browser system prompt inclusion rules (thanks @cannuri!)
- Publish git tags to github from CI (thanks @pdecat!)
- Publish git tags to GitHub from CI (thanks @pdecat!)
- Fixes to OpenAI-style cost calculations (thanks @dtrugman!)
- Fix to allow using an excluded directory as your working directory (thanks @Szpadel!)
- Kotlin language support in list_code_definition_names tool (thanks @kohii!)
Expand Down Expand Up @@ -2677,7 +2677,7 @@

## [3.7.6] - 2025-02-26

- Handle really long text better in the in the ChatRow similar to TaskHeader (thanks @joemanley201!)
- Handle really long text better in the ChatRow similar to TaskHeader (thanks @joemanley201!)
- Support multiple files in drag-and-drop
- Truncate search_file output to avoid crashing the extension
- Better OpenRouter error handling (no more "Provider Error")
Expand Down
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
contributors and maintainers pledge to make participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
Expand Down
2 changes: 1 addition & 1 deletion apps/cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ pnpm install
# Build the main extension first.
pnpm --filter roo-cline bundle

# Build the cli.
# Build the CLI.
pnpm --filter @roo-code/cli build
```

Expand Down
2 changes: 1 addition & 1 deletion apps/web-roo-code/src/app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ export default async function Home() {
<p>
Use the <strong className="text-nowrap">Roo Code Extension</strong> on your computer for
full control, or delegate work to your{" "}
<strong className="text-nowrap">Roo Code Cloud Agents</strong> from the web, Slack, Github
<strong className="text-nowrap">Roo Code Cloud Agents</strong> from the web, Slack, GitHub
or wherever your team is.
</p>
</div>
Expand Down
2 changes: 1 addition & 1 deletion apps/web-roo-code/src/app/pricing/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ const pricingTiers: PricingTier[] = [
description: "For AI-forward engineers",
featuresIntro: "Go beyond the extension with",
features: [
"Access to Cloud Agents: fully autonomous development you can kick off from Github and the web",
"Access to Cloud Agents: fully autonomous development you can kick off from GitHub and the web",
"Access to the Roo Code Router",
"Follow your tasks from anywhere",
"Share tasks with friends and co-workers",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ export function OptionOverviewSection() {

<div className="text-muted-foreground mb-4">
<p>
Create your agent team in the Cloud, give them access to Github and start giving them
Create your agent team in the Cloud, give them access to GitHub and start giving them
tasks:
</p>
<ul className="list-inside my-4 space-y-1">
Expand All @@ -76,7 +76,7 @@ export function OptionOverviewSection() {
<li className="list-disc">
Create tasks from the Web and Slack (more integrations soon)
</li>
<li className="list-disc">Get PR Reviews (and fixes) directly on Github</li>
<li className="list-disc">Get PR Reviews (and fixes) directly on GitHub</li>
<li className="list-disc">Collaborate with co-workers</li>
</ul>
<p>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ const SOURCES = {
icon: Pointer,
},
github: {
name: "Github",
name: "GitHub",
icon: Github,
},
extension: {
Expand Down Expand Up @@ -161,7 +161,7 @@ const USE_CASES: UseCase[] = [
},
{
role: "Support Engineer",
use: "What's causing this stack trace? The customer is on MacOS 26.1.",
use: "What's causing this stack trace? The customer is on macOS 26.1.",
agent: AGENTS.explainer,
context: SOURCES.web,
},
Expand Down
2 changes: 1 addition & 1 deletion packages/evals/ADDING-EVALS.md
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ export const exerciseLanguages = [
Create `prompts/{language}.md` in the evals repository:

```markdown
Your job is to complete a coding exercise described the markdown files inside the `docs` directory.
Your job is to complete a coding exercise described in the markdown files inside the `docs` directory.

A file with the implementation stubbed out has been created for you, along with a test file (the tests should be failing initially).

Expand Down
4 changes: 2 additions & 2 deletions packages/evals/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Additionally, you'll find in Docker Desktop that database and redis services are

Navigate to [localhost:3446](http://localhost:3446/) in your browser and click the 🚀 button.

By default a evals run will run all programming exercises in [Roo Code Evals](https://github.com/RooCodeInc/Roo-Code-Evals) repository with the Claude Sonnet 4 model and default settings. For basic configuration you can specify the LLM to use and any subset of the exercises you'd like. For advanced configuration you can import a Roo Code settings file which will allow you to run the evals with Roo Code configured any way you'd like (this includes custom modes, custom instructions, etc).
By default an evals run will run all programming exercises in [Roo Code Evals](https://github.com/RooCodeInc/Roo-Code-Evals) repository with the Claude Sonnet 4 model and default settings. For basic configuration you can specify the LLM to use and any subset of the exercises you'd like. For advanced configuration you can import a Roo Code settings file which will allow you to run the evals with Roo Code configured any way you'd like (this includes custom modes, custom instructions, etc).

<img width="1053" src="https://github.com/user-attachments/assets/2367eef4-6ae9-4ac2-8ee4-80f981046486" />

Expand Down Expand Up @@ -72,7 +72,7 @@ To stop an evals run early you can simply stop the "controller" container using

The evals system runs VS Code headlessly in Docker containers for consistent, reproducible environments. While this design ensures reliability, it can make debugging more challenging. For debugging purposes, you can run the system locally on macOS, though this approach is less reliable due to hardware and environment variability.

To configure your MacOS system to run evals locally, execute the setup script:
To configure your macOS system to run evals locally, execute the setup script:

```sh
cd packages/evals && ./scripts/setup.sh
Expand Down
2 changes: 1 addition & 1 deletion src/integrations/editor/DiffViewProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -394,7 +394,7 @@ export class DiffViewProvider {

edit.replace(updatedDocument.uri, fullRange, this.stripAllBOMs(this.originalContent ?? ""))

// Apply the edit and save, since contents shouldnt have changed
// Apply the edit and save, since contents shouldn't have changed
// this won't show in local history unless of course the user made
// changes and saved during the edit.
await vscode.workspace.applyEdit(edit)
Expand Down
2 changes: 1 addition & 1 deletion src/utils/path.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ to ensure correct behavior on all platforms. The toPosixPath and arePathsEqual f
primarily used for presentation and comparison purposes, not for actual file system operations.

Observations:
- Macos isn't so flexible with mixed separators, whereas windows can handle both. ("Node.js does automatically handle path separators on Windows, converting forward slashes to backslashes as needed. However, on macOS and other Unix-like systems, the path separator is always a forward slash (/), and backslashes are treated as regular characters.")
- macOS isn't so flexible with mixed separators, whereas Windows can handle both. ("Node.js does automatically handle path separators on Windows, converting forward slashes to backslashes as needed. However, on macOS and other Unix-like systems, the path separator is always a forward slash (/), and backslashes are treated as regular characters.")
*/

function toPosixPath(p: string) {
Expand Down
4 changes: 2 additions & 2 deletions webview-ui/src/components/chat/BatchDiffApproval.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React, { memo, useState } from "react"
import CodeAccordian from "../common/CodeAccordian"
import CodeAccordion from "../common/CodeAccordion"

interface FileDiff {
path: string
Expand Down Expand Up @@ -41,7 +41,7 @@ export const BatchDiffApproval = memo(({ files = [], ts }: BatchDiffApprovalProp

return (
<div key={`${file.path}-${index}-${ts}`}>
<CodeAccordian
<CodeAccordion
path={file.path}
code={unified}
language="diff"
Expand Down
16 changes: 8 additions & 8 deletions webview-ui/src/components/chat/ChatRow.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import { formatPathTooltip } from "@src/utils/formatPathTooltip"
import { ToolUseBlock, ToolUseBlockHeader } from "../common/ToolUseBlock"
import UpdateTodoListToolBlock from "./UpdateTodoListToolBlock"
import { TodoChangeDisplay } from "./TodoChangeDisplay"
import CodeAccordian from "../common/CodeAccordian"
import CodeAccordion from "../common/CodeAccordion"
import MarkdownBlock from "../common/MarkdownBlock"
import { ReasoningBlock } from "./ReasoningBlock"
import Thumbnails from "../common/Thumbnails"
Expand Down Expand Up @@ -249,7 +249,7 @@ export const ChatRowContent = ({
return [undefined, undefined, undefined]
}, [message.text, message.say])

// When resuming task, last wont be api_req_failed but a resume_task
// When resuming task, last won't be api_req_failed but a resume_task
// message, so api_req_started will show loading spinner. That's why we just
// remove the last api_req_started that failed without streaming anything.
const apiRequestFailedMessage =
Expand Down Expand Up @@ -474,7 +474,7 @@ export const ChatRowContent = ({
</span>
</div>
<div className="pl-6">
<CodeAccordian
<CodeAccordion
path={tool.path}
code={unifiedDiff ?? tool.content ?? tool.diff ?? ""}
language="diff"
Expand Down Expand Up @@ -513,7 +513,7 @@ export const ChatRowContent = ({
</span>
</div>
<div className="pl-6">
<CodeAccordian
<CodeAccordion
path={tool.path}
code={unifiedDiff ?? tool.diff}
language="diff"
Expand Down Expand Up @@ -708,7 +708,7 @@ export const ChatRowContent = ({
</span>
</div>
<div className="pl-6">
<CodeAccordian
<CodeAccordion
path={tool.path}
code={tool.content}
language="shell-session"
Expand All @@ -734,7 +734,7 @@ export const ChatRowContent = ({
</span>
</div>
<div className="pl-6">
<CodeAccordian
<CodeAccordion
path={tool.path}
code={tool.content}
language="shellsession"
Expand Down Expand Up @@ -774,7 +774,7 @@ export const ChatRowContent = ({
</span>
</div>
<div className="pl-6">
<CodeAccordian
<CodeAccordion
path={tool.path! + (tool.filePattern ? `/(${tool.filePattern})` : "")}
code={tool.content}
language="shellsession"
Expand Down Expand Up @@ -1277,7 +1277,7 @@ export const ChatRowContent = ({
const tool = safeJsonParse<ClineSayTool>(message.text)
return (
<div style={{ marginTop: -10, width: "100%" }}>
<CodeAccordian
<CodeAccordion
code={tool?.diff}
language="diff"
isFeedback={true}
Expand Down
2 changes: 1 addition & 1 deletion webview-ui/src/components/chat/ChatTextArea.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -518,7 +518,7 @@ export const ChatTextArea = forwardRef<HTMLTextAreaElement, ChatTextAreaProps>(
const charAfterIsWhitespace =
charAfterCursor === " " || charAfterCursor === "\n" || charAfterCursor === "\r\n"

// Checks if char before cusor is whitespace after a mention.
// Checks if char before cursor is whitespace after a mention.
if (
charBeforeIsWhitespace &&
// "$" is added to ensure the match occurs at the end of the string.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ vi.mock("react-i18next", () => ({
"cloud:cloudBenefitsTitle": "Try Roo Code Cloud",
"cloud:cloudBenefitProvider": "Access free and paid models that work great with Roo",
"cloud:cloudBenefitCloudAgents": "Give tasks to autonomous Cloud agents",
"cloud:cloudBenefitTriggers": "Get code reviews on Github, start tasks from Slack and more",
"cloud:cloudBenefitTriggers": "Get code reviews on GitHub, start tasks from Slack and more",
"cloud:cloudBenefitWalkaway": "Follow and control tasks from anywhere (including your phone)",
"cloud:cloudBenefitHistory": "Access your task history from anywhere and share them with others",
"cloud:cloudBenefitMetrics": "Get a holistic view of your token consumption",
Expand All @@ -35,7 +35,7 @@ describe("CloudUpsellDialog", () => {
expect(screen.getByText("Try Roo Code Cloud")).toBeInTheDocument()
expect(screen.getByText("Access free and paid models that work great with Roo")).toBeInTheDocument()
expect(screen.getByText("Give tasks to autonomous Cloud agents")).toBeInTheDocument()
expect(screen.getByText("Get code reviews on Github, start tasks from Slack and more")).toBeInTheDocument()
expect(screen.getByText("Get code reviews on GitHub, start tasks from Slack and more")).toBeInTheDocument()
expect(screen.getByText("Follow and control tasks from anywhere (including your phone)")).toBeInTheDocument()
expect(
screen.getByText("Access your task history from anywhere and share them with others"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ vi.mock("@src/i18n/TranslationContext", () => ({
"cloud:cloudBenefitsTitle": "Try Roo Code Cloud",
"cloud:cloudBenefitProvider": "Access free and paid models that work great with Roo",
"cloud:cloudBenefitCloudAgents": "Give tasks to autonomous Cloud agents",
"cloud:cloudBenefitTriggers": "Get code reviews on Github, start tasks from Slack and more",
"cloud:cloudBenefitTriggers": "Get code reviews on GitHub, start tasks from Slack and more",
"cloud:cloudBenefitWalkaway": "Follow and control tasks from anywhere (including your phone)",
"cloud:cloudBenefitHistory": "Access your task history from anywhere and share them with others",
"cloud:cloudBenefitMetrics": "Get a holistic view of your token consumption",
Expand Down Expand Up @@ -78,7 +78,7 @@ describe("CloudView", () => {
expect(screen.getByRole("heading", { name: "Try Roo Code Cloud" })).toBeInTheDocument()
expect(screen.getByText("Access free and paid models that work great with Roo")).toBeInTheDocument()
expect(screen.getByText("Give tasks to autonomous Cloud agents")).toBeInTheDocument()
expect(screen.getByText("Get code reviews on Github, start tasks from Slack and more")).toBeInTheDocument()
expect(screen.getByText("Get code reviews on GitHub, start tasks from Slack and more")).toBeInTheDocument()
expect(screen.getByText("Follow and control tasks from anywhere (including your phone)")).toBeInTheDocument()
expect(
screen.getByText("Access your task history from anywhere and share them with others"),
Expand All @@ -101,7 +101,7 @@ describe("CloudView", () => {
expect(screen.queryByText("Access free and paid models that work great with Roo")).not.toBeInTheDocument()
expect(screen.queryByText("Give tasks to autonomous Cloud agents")).not.toBeInTheDocument()
expect(
screen.queryByText("Get code reviews on Github, start tasks from Slack and more"),
screen.queryByText("Get code reviews on GitHub, start tasks from Slack and more"),
).not.toBeInTheDocument()
expect(
screen.queryByText("Follow and control tasks from anywhere (including your phone)"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import CodeBlock from "./CodeBlock"
import { PathTooltip } from "../ui/PathTooltip"
import DiffView from "./DiffView"

interface CodeAccordianProps {
interface CodeAccordionProps {
path?: string
code?: string
language: string
Expand All @@ -24,7 +24,7 @@ interface CodeAccordianProps {
diffStats?: { added: number; removed: number }
}

const CodeAccordian = ({
const CodeAccordion = ({
path,
code = "",
language,
Expand All @@ -36,7 +36,7 @@ const CodeAccordian = ({
header,
onJumpToFile,
diffStats,
}: CodeAccordianProps) => {
}: CodeAccordionProps) => {
const inferredLanguage = useMemo(() => language ?? (path ? getLanguageFromPath(path) : "txt"), [path, language])
const source = useMemo(() => code.trim(), [code])
const hasHeader = Boolean(path || isFeedback || header)
Expand Down Expand Up @@ -128,4 +128,4 @@ const CodeAccordian = ({
)
}

export default memo(CodeAccordian)
export default memo(CodeAccordion)
2 changes: 1 addition & 1 deletion webview-ui/src/i18n/locales/ca/cloud.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading