Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Sep 29, 2025

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

[email protected]

Patch Changes

    • Fix: Correct Anthropic Sonnet 4.5 model ID and add Bedrock 1M context checkbox (thanks @daniel-lxs!)

@github-actions github-actions bot requested review from cte, jr and mrubens as code owners September 29, 2025 19:22
@hannesrudolph hannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Sep 29, 2025
@dosubot dosubot bot added the size:S This PR changes 10-29 lines, ignoring generated files. label Sep 29, 2025
Copy link
Contributor

@roomote roomote bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found a couple of small issues in the release bump:\n\n- P1: CHANGELOG formatting — extra nested bullet on the new entry; use a single bullet.\n- P2: PR is currently in CONFLICTING state; please rebase/merge main into changeset-release/main before merging.\n- P3: Consider adding a release date to the 3.28.11 header for consistency with recent entries.

CHANGELOG.md Outdated

### Patch Changes

- - Fix: Correct AWS Bedrock Claude Sonnet 4.5 model identifier (#8371 by @sunhyung, PR by @app/roomote)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: Double bullet in the 3.28.11 entry. Use a single bullet to match existing formatting.\n\nsuggestion\n- Fix: Correct AWS Bedrock Claude Sonnet 4.5 model identifier (#8371 by @sunhyung, PR by @app/roomote)\n

CHANGELOG.md Outdated
@@ -1,5 +1,11 @@
# Roo Code Changelog

## 3.28.11
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: Consider adding a release date and brackets to follow the convention used in adjacent entries.\n\nsuggestion\n## [3.28.11] - 2025-09-29\n

@github-actions github-actions bot force-pushed the changeset-release/main branch from 89f8a7a to 7b5cc3f Compare September 29, 2025 22:03
Updated version number and consolidated patch notes.
@mrubens mrubens merged commit 2502058 into main Sep 29, 2025
9 checks passed
@mrubens mrubens deleted the changeset-release/main branch September 29, 2025 22:10
@github-project-automation github-project-automation bot moved this from Triage to Done in Roo Code Roadmap Sep 29, 2025
@github-project-automation github-project-automation bot moved this from New to Done in Roo Code Roadmap Sep 29, 2025
mini2s added a commit to zgsm-ai/costrict that referenced this pull request Sep 30, 2025
* fix: identify mcp and slash command config path in multiple folder workspace (RooCodeInc#6904)

* fix: resolve CI e2e test ETIMEDOUT errors when downloading VS Code (RooCodeInc#7583)

* fix: Tackling Race/State condition issue by Changing the Code Design for Gemini Grounding Sources (RooCodeInc#7434)

Co-authored-by: daniel-lxs <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* fix: preserve context by retrying with full conversation on invalid previous_response_id (RooCodeInc#7714)

* chore: add changeset for v3.26.8 (RooCodeInc#7715)

* feat(checkpoints): create checkpoint when user sends a message (RooCodeInc#7713)

* feat(checkpoints): create checkpoint on user message send

* fix(checkpoints): suppress implicit user-message checkpoint row; keep current checkpoint updated without a chat row

* Fix checkpoint suppression for user messages

- Propagate suppressMessage flag through event chain properly
- Update ChatView to check checkpoint metadata for suppressMessage flag
- Ensure checkpoint messages are created but not rendered when suppressed
- Fix bug where checkpointSave(false) should have been checkpointSave(true)

* fix: only create checkpoint on user message when files have changed

- Changed allowEmpty from true to false in checkpointSave call
- Checkpoints will now only be created when there are actual file changes
- This avoids creating empty commits in the shadow git repository

* test: update checkpoint test to include suppressMessage parameter

- Fixed test expectation to match the new function signature
- saveCheckpoint now expects both allowEmpty and suppressMessage parameters

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: Daniel Riccio <[email protected]>

* Bump to 3.27.0 (RooCodeInc#7719)

* Changeset version bump (RooCodeInc#7716)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* fix: update DeepSeek pricing to new unified rates effective Sept 5, 2025 (RooCodeInc#7687)

- Updated deepseek-chat pricing: $0.56 input (cache miss), $0.07 (cache hit), $1.68 output
- Updated deepseek-reasoner pricing: same unified rates as deepseek-chat
- Both models now have identical pricing as per DeepSeek announcement
- Pricing takes effect at 16:00 UTC, Sept 5th, 2025

Fixes RooCodeInc#7685

Co-authored-by: Roo Code <[email protected]>

* feat: replace cloud waitlist ad with direct Cloud link in navigation (RooCodeInc#7742)

Co-authored-by: Roo Code <[email protected]>

* feat: show dash instead of zero for missing data on evals page (RooCodeInc#7748)

Co-authored-by: Roo Code <[email protected]>

* Feature/update vertex ai models and regions (RooCodeInc#7727)

* Add model info to eval runs table (RooCodeInc#7749)

* chore(deps): update dependency eslint-config-prettier to v10.1.8 (RooCodeInc#6464)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency esbuild to v0.25.9 (RooCodeInc#5455)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @changesets/cli to v2.29.6 (RooCodeInc#7376)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v14.0.10 (RooCodeInc#6465)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency eslint-plugin-turbo to v2.5.6 (RooCodeInc#7764)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* refactor(utils): simplify shell detection logic

* Merge remote-tracking branch 'upstream/main' into roo-to-main

* test: update shell detection test expectation and mocks

* test: add mock cleanup in shell detection tests

* test: update shell detection tests to prioritize PowerShell 7

* fix(workspace-event-monitor): increase max retries and improve retry logic

* refactor(codebase): improve error handling and workspace validation

* Revert PR RooCodeInc#7188 - Restore temperature parameter to fix TabbyApi/ExLlamaV2 crashes (RooCodeInc#7594)

* fix: reduce CodeBlock button z-index to prevent overlap with popovers (RooCodeInc#7783)

Fixes RooCodeInc#7703 - CodeBlock language dropdown and copy button were appearing above popovers due to z-index: 100. Reduced to z-index: 40 to maintain proper layering hierarchy while keeping buttons functional.

* Make ollama models info transport work like lmstudio (RooCodeInc#7679)

* feat: add click-to-edit, ESC-to-cancel, and fix padding consistency for chat messages (RooCodeInc#7790)

* feat: add click-to-edit, ESC-to-cancel, and fix padding consistency

- Enable click-to-edit for past messages by making message text clickable
- Add ESC key handler to cancel edit mode in ChatTextArea
- Fix padding consistency between past and queued message editors
- Adjust right padding for edit mode to accommodate cancel button

Fixes RooCodeInc#7788

* fix: adjust padding and layout for ChatTextArea in edit mode

* refactor: replace hardcoded pr-[72px] with standard Tailwind pr-20 class

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>

* Let people paste in the auth redirect url (RooCodeInc#7805)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Bruno Bergher <[email protected]>

* test: change console.error to console.warn in tests

* fix: resolve chat message edit/delete duplication issues (RooCodeInc#7793)

* fix: add GIT_EDITOR env var to merge-resolver mode for non-interactive rebase (RooCodeInc#7819)

* UI: Render reasoning as plain italic (match <thinking>) (RooCodeInc#7752)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>

* Add taskSyncEnabled to userSettingsConfigSchema (RooCodeInc#7827)

feat: add taskSyncEnabled to userSettingsConfigSchema

Co-authored-by: Roo Code <[email protected]>

* Release: v1.75.0 (RooCodeInc#7829)

chore: bump version to v1.75.0

* fix: prevent negative cost values and improve label visibility in evals chart (RooCodeInc#7830)

Co-authored-by: Roo Code <[email protected]>

* Fix Groq context window display (RooCodeInc#7839)

* test: enhance vscode mock implementations and error handling

* feat(chat): replace edit button with copy functionality

* refactor(core): enhance binary file detection and encoding handling

* separate task sync roomote control (RooCodeInc#7799)

* feat: separate Task Sync and Roomote Control settings

- Add new taskSyncEnabled setting to control task content syncing
- Keep remoteControlEnabled for Roomote Control functionality
- Task Sync controls whether task content is sent to cloud
- Roomote Control controls whether cloud can send instructions back
- Roomote Control now depends on Task Sync being enabled
- Usage metrics (tokens, cost) always reported regardless of settings
- Update UI with two separate toggles and clear descriptions
- Add info text explaining usage metrics are always reported

* feat: add missing translations for Task Sync and Roomote Control settings

- Added taskSync, taskSyncDescription, remoteControlRequiresTaskSync, and usageMetricsAlwaysReported keys to all non-English cloud.json files
- Updated cloudBenefit keys to match English structure
- Ensured all languages have consistent translation keys for the new Task Sync and Roomote Control features

* Cloud: cleanup taskSyncEnabled additions

* fix: correct indentation localization files

---------

Co-authored-by: Roo Code <[email protected]>

* feat: In-extension dismissible upsells for Roo Code Cloud (RooCodeInc#7850)

* First pass at separate upsell dialog

* Revert PR RooCodeInc#7188 - Restore temperature parameter to fix TabbyApi/ExLlamaV2 crashes (RooCodeInc#7594)

* fix: reduce CodeBlock button z-index to prevent overlap with popovers (RooCodeInc#7783)

Fixes RooCodeInc#7703 - CodeBlock language dropdown and copy button were appearing above popovers due to z-index: 100. Reduced to z-index: 40 to maintain proper layering hierarchy while keeping buttons functional.

* Make ollama models info transport work like lmstudio (RooCodeInc#7679)

* feat: add click-to-edit, ESC-to-cancel, and fix padding consistency for chat messages (RooCodeInc#7790)

* feat: add click-to-edit, ESC-to-cancel, and fix padding consistency

- Enable click-to-edit for past messages by making message text clickable
- Add ESC key handler to cancel edit mode in ChatTextArea
- Fix padding consistency between past and queued message editors
- Adjust right padding for edit mode to accommodate cancel button

Fixes RooCodeInc#7788

* fix: adjust padding and layout for ChatTextArea in edit mode

* refactor: replace hardcoded pr-[72px] with standard Tailwind pr-20 class

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>

* Let people paste in the auth redirect url (RooCodeInc#7805)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Bruno Bergher <[email protected]>

* fix: resolve chat message edit/delete duplication issues (RooCodeInc#7793)

* fix: add GIT_EDITOR env var to merge-resolver mode for non-interactive rebase (RooCodeInc#7819)

* UI: Render reasoning as plain italic (match <thinking>) (RooCodeInc#7752)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>

* Add taskSyncEnabled to userSettingsConfigSchema (RooCodeInc#7827)

feat: add taskSyncEnabled to userSettingsConfigSchema

Co-authored-by: Roo Code <[email protected]>

* Release: v1.75.0 (RooCodeInc#7829)

chore: bump version to v1.75.0

* fix: prevent negative cost values and improve label visibility in evals chart (RooCodeInc#7830)

Co-authored-by: Roo Code <[email protected]>

* Fix Groq context window display (RooCodeInc#7839)

* feat: add DismissibleUpsell component for dismissible messages

- Created DismissibleUpsell component with variant support (banner/default)
- Added dismissedUpsells to GlobalState for persistence
- Implemented message handlers for dismissing and retrieving dismissed upsells
- Added comprehensive tests for the component
- Uses VSCode extension globalState for persistent storage

* fix: Apply PR feedback for DismissibleUpsell component

- Changed from className to separate 'id' and 'className' props for better semantics
- Added i18n support for accessibility labels (aria-label and title)
- Fixed memory leak by adding mounted flag to prevent state updates after unmount
- Fixed race condition by sending dismiss message before hiding component
- Fixed inefficient array operations in webviewMessageHandler
- Added comprehensive test coverage for edge cases including:
  - Multiple rapid dismissals
  - Component unmounting during async operations
  - Invalid/malformed message handling
  - Proper message sending before unmount
- Added null checks for message data to handle edge cases gracefully

* New Cloud upsell dialog in task share and cloud view, shared component

* Properly working DismissibleUpsell

* Working upsell for long-running tasks

* CTA in AutoApproveMenu

* Home page CTA

* Fixes the autoapprove upsell and some tests

* Visual and copy fixes

* Test fix

* Translations

* Stray className attribute

* Cloud view fixes in a left-aligned layout

* Removes unnecessary test

* Less flaky tests

* Fixes sharebutton behavior and updates associated tests

* Update webview-ui/src/i18n/locales/it/cloud.json

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

* Fix dismissed flicker

* Fix long task upsell

---------

Co-authored-by: Daniel <[email protected]>
Co-authored-by: ItsOnlyBinary <[email protected]>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>
Co-authored-by: John Richmond <[email protected]>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* v3.28.0 (RooCodeInc#7858)

* Changeset version bump (RooCodeInc#7859)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* feat(chat): add chat search functionality with highlighting

* feat: show notification when the checkpoint initialization fails (RooCodeInc#7766)

Co-authored-by: daniel-lxs <[email protected]>

* Bust cache in generated image preview (RooCodeInc#7860)

Co-authored-by: Roo Code <[email protected]>

* test: disable TaskHeader upsell tests

* test: refactor TaskHeader test file

* feat: Add cloud task button for opening tasks in Roo Code Cloud (RooCodeInc#7572)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>

* fix: center active mode in selector dropdown on open (RooCodeInc#7883)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>

* Make Posthog telemetry the default (RooCodeInc#7909)

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

* Fix: Preserve first message during conversation condensing (RooCodeInc#7910)

* In-app announcement for Roo Code Cloud (RooCodeInc#7914)

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

* chore: add changeset for v3.28.1 (RooCodeInc#7916)

* Changeset version bump (RooCodeInc#7917)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* Remove Roo Code 3.25 release announcement

Removed the section about Roo Code 3.25 release notes.

* fix: restrict @-mention parsing to line-start or whitespace boundaries (RooCodeInc#7876)

Co-authored-by: Roo Code <[email protected]>

* Fix message queue re-queue loop in Task.ask() (RooCodeInc#7823)

* fix: preserve original first message context during conversation condensing (RooCodeInc#7939)

* Add a little padding to the cloudview (RooCodeInc#7954)

* test: increase test timeout configuration

* test(ci): enable translation check and optimize test workflow

* fix: make nested git repository warning persistent with path info (RooCodeInc#7885)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>

* fix: include API key in Ollama /api/tags requests (RooCodeInc#7903)

Co-authored-by: Roo Code <[email protected]>

* feat: add Qwen3 Next 80B A3B models to chutes provider (RooCodeInc#7948)

* ux: Smaller and more subtle auto-approve UI (RooCodeInc#7894)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: Daniel <[email protected]>
Co-authored-by: ItsOnlyBinary <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>
Co-authored-by: John Richmond <[email protected]>

* Disable Roomote Control on logout (RooCodeInc#7976)

* Remove chevrons from chat buttons (RooCodeInc#7970)

* chore: add changeset for v3.28.2 (RooCodeInc#7979)

* Changeset version bump (RooCodeInc#7980)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* ux: Makes text area buttons appear only when there's text (RooCodeInc#7987)

* fix: corrected C# tree-sitter query (RooCodeInc#7813)

* feat: Move slash commands to Settings tab with gear icon for discoverability (RooCodeInc#7988)

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: Mubeen Zulfiqar <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* Add Z.ai coding plan support (RooCodeInc#8003)

* chore(deps): bump axios from 1.9.0 to 1.12.0 (RooCodeInc#7963)

Bumps [axios](https://github.com/axios/axios) from 1.9.0 to 1.12.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](axios/axios@v1.9.0...v1.12.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.12.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix context menu is obscured when edit message. (RooCodeInc#7951)

* feat: add keyboard shortcut for "Add to Context" action (RooCodeInc#7908)

Co-authored-by: daniel-lxs <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* fix: handle ByteString conversion errors in OpenAI embedders (RooCodeInc#8008)

* CONTRIBUTING.md tweaks and issue template rewrite (RooCodeInc#8014)

* feat: Reposition Add Image button inside ChatTextArea (RooCodeInc#7989)

* feat: move Add Image button inside ChatTextArea

- Moved Add Image button from bottom toolbar to top-right inside text area
- Repositioned Enhance Prompt button to be above Send button (bottom-right)
- Both buttons now follow similar positioning pattern as Send button
- Maintains consistent button styling and transitions

* fix: corrected C# tree-sitter query (RooCodeInc#7813)

* feat: Move slash commands to Settings tab with gear icon for discoverability (RooCodeInc#7988)

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: Mubeen Zulfiqar <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* Add Z.ai coding plan support (RooCodeInc#8003)

* chore(deps): bump axios from 1.9.0 to 1.12.0 (RooCodeInc#7963)

Bumps [axios](https://github.com/axios/axios) from 1.9.0 to 1.12.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](axios/axios@v1.9.0...v1.12.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.12.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix context menu is obscured when edit message. (RooCodeInc#7951)

* feat: add keyboard shortcut for "Add to Context" action (RooCodeInc#7908)

Co-authored-by: daniel-lxs <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* fix: handle ByteString conversion errors in OpenAI embedders (RooCodeInc#8008)

* CONTRIBUTING.md tweaks and issue template rewrite (RooCodeInc#8014)

* Visual tweaks

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Mubeen Zulfiqar <[email protected]>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>
Co-authored-by: Daniel <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: NaccOll <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>

* feat: add i18n support for git commits and file operations

* feat(i18n): update context menu translations in zh-CN and zh-TW locales

* feat: Bring back a way to temporarily and globally pause auto-approve without losing your toggle state (RooCodeInc#8024)

* Visual improvements and code cleanup (removes duplication)

* Brings back an 'enabled' toggle for auto-approve

* fix: filter out Claude Code built-in tools (ExitPlanMode, BashOutput, KillBash) (RooCodeInc#7818)

Co-authored-by: Roo Code <[email protected]>

* fix: handle square bracket HTML entities in Gemini responses (