Skip to content

Commit ae060db

Browse files
mini2sNaccOlldaniel-lxsHahaBillmrubens
authored
Roo to main (#506)
* 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 (RooCodeInc#7577) Co-authored-by: Roo Code <[email protected]> * feat: Replace + icon with edit icon for New Task button (RooCodeInc#7942) Co-authored-by: Roo Code <[email protected]> * Release v3.28.3 (RooCodeInc#8025) * Changeset version bump (RooCodeInc#8026) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <[email protected]> * feat: remove web-docs app (RooCodeInc#8027) Co-authored-by: Roo Code <[email protected]> * fix: skip flaky Windows test in custom-system-prompt.spec.ts (RooCodeInc#8023) Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com> Co-authored-by: Roo Code <[email protected]> Co-authored-by: Matt Rubens <[email protected]> * feat: add GDPR-compliant cookie consent banner (RooCodeInc#8022) Co-authored-by: Roo Code <[email protected]> Co-authored-by: Bruno Bergher <[email protected]> Co-authored-by: Matt Rubens <[email protected]> * Release: v1.76.0 (RooCodeInc#8030) * Types 1.77.0 (RooCodeInc#8031) * feat(web): update homepage headline and tagline for remote control capabilities (RooCodeInc#7911) * Merge remote-tracking branch 'upstream/main' into roo-to-main * ux: Responsive Auto-Approve (RooCodeInc#8032) 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> * feat(cloud): Add telemetry retry queue for network resilience (RooCodeInc#7597) * feat(cloud): Add telemetry retry queue for network resilience - Implement RetryQueue class with workspace-scoped persistence - Queue failed telemetry events for automatic retry - Retry events every 60 seconds with fresh auth tokens - FIFO eviction when queue reaches 100 events - Persist queue across VS Code restarts This ensures telemetry data isn't lost during network failures or temporary server issues. Migrated from RooCodeInc/Roo-Code-Cloud#744 * fix: address PR review feedback for retry queue - Fix retry order to use consistent FIFO processing - Add retry limit enforcement with max retries check - Add configurable request timeout (default 30s) - Add comprehensive tests for retryAll() method - Add request-max-retries-exceeded event - Fix timeout test to avoid timing issues * fix: resolve TypeScript errors in RetryQueue tests * fix(cloud): Address PR feedback for telemetry retry queue - Handle HTTP error status codes (500s, 401/403, 429) as failures that trigger retry - Remove queuing of backfill operations since they're user-initiated - Fix race condition in concurrent retry processing with isProcessing flag - Add specialized retry logic for 429 with Retry-After header support - Clean up unnecessary comments - Add comprehensive tests for new status code handling - Add temporary debug logs with emojis for testing * refactor: address PR feedback for telemetry retry queue - Remove unused X-Organization-Id header from auth header provider - Simplify enqueue() API by removing operation parameter - Fix error retry logic: only retry 5xx, 429, and network failures - Stop retrying 4xx client errors (400, 401, 403, 404, 422) - Implement queue-wide pause for 429 rate limiting - Add auth state management integration: - Pause queue when not in active-session - Clear queue on logout or user change - Preserve queue when same user logs back in - Remove debug comments - Fix ESLint no-case-declarations error with proper block scope - Update tests for all new behaviors * Docs: Overhaul README (RooCodeInc#8005) * docs: overhaul README for clarity and impact * fix: update badge links and styles in README for improved visibility * docs(README): stronger CTAs for Discord/Reddit; restore Modes/Roles incl. cloud agents * docs(readme): add support CTA; refine modes section; clarify custom modes wording - add centered help/links CTA under badges: [README.md](README.md:8-10) - expand feature list to explicitly include modes: [README.md](README.md:45) - rename section header “Modes and Roles” → “Modes”: [README.md](README.md:52) - update wording to “Custom Modes: build specialized modes for your team or workflow”: [README.md](README.md:60) * docs: implement @jdilla1277 suggestions for English README - Updated header to "Your AI-Powered Dev Team, Right in Your Editor" (removed Cline reference) - Changed line 44 to "Generate Code from natural language descriptions and specs" for better SEO - Removed "not the other way around" phrase from line 54 - Replaced "Cloud Agents" with "Roomote Control" on line 61 As requested by @hannesrudolph, these changes are only applied to the English README. * docs: clarify Roomote Control description and update related links in README * Reworked the contributor list. Made translastion corrections. --------- Co-authored-by: Roo Code <[email protected]> * Add organizationFeaturesSchema with roomoteControlEnabled (RooCodeInc#8085) feat: add organizationFeaturesSchema with roomoteControlEnabled - Add organizationFeaturesSchema with optional roomoteControlEnabled boolean - Integrate features property into organizationSettingsSchema as optional - Add comprehensive tests for new schema validation - Maintain backward compatibility with existing organization settings Co-authored-by: Roo Code <[email protected]> * Release: v1.78.0 (RooCodeInc#8089) chore: bump version to v1.78.0 * Get the model id property for a given provider (RooCodeInc#8009) * Fix: Transform keybindings in nightly build to fix command+y shortcut (RooCodeInc#8070) * fix: transform keybindings command references in nightly build The keybindings section was not being transformed during the nightly build process, causing command+y keybinding to reference the wrong command name (roo-cline.addToContext instead of roo-code-nightly.addToContext). - Added keybindings schema to types.ts - Updated generatePackageJson to transform keybindings command references - This ensures keybindings work correctly in the nightly build * fix: only include keybindings in output when they exist Updated generatePackageJson to conditionally add keybindings to avoid including undefined values in the generated package.json. Fixed eslint-disable comment placement. --------- Co-authored-by: Roo Code <[email protected]> * Add a list of sub-processors (RooCodeInc#8163) * Add cookie policy (RooCodeInc#8165) * ux: Redesigned Message Feed (RooCodeInc#7985) Co-authored-by: Roo Code <[email protected]> Co-authored-by: Matt Rubens <[email protected]> * Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main * bug: Incorrect copy for "Run" command when approving execution (RooCodeInc#8179) * test: set default language to English in prompt tests * Supernova (RooCodeInc#8175) Co-authored-by: Chris Estreich <[email protected]> * chore: add changeset for v3.28.4 (RooCodeInc#8182) * Changeset version bump (RooCodeInc#8183) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <[email protected]> * feat(chat): enhance user info display and file path highlighting * fix: support dash prefix in parseMarkdownChecklist for todo lists (RooCodeInc#8055) - Updated regex pattern to support optional dash prefix (e.g., "- [ ] Task") - Added comprehensive test coverage for both formats - Fixes issue where todo lists with dash prefixes were not being parsed correctly Fixes RooCodeInc#8054 Co-authored-by: Roo Code <[email protected]> * Updating the privacy policy to allow us to send occasional emails (RooCodeInc#8180) * Updating the privacy policy to allow us to send onboarding and occasional marketing emails. * docs: Clarified unsubscribe behavior and updated the Last Updated date * docs: update Last Updated date in Privacy Policy page * fix: apply tiered pricing for Gemini models via Vertex AI (RooCodeInc#8018) * fix: apply tiered pricing for Gemini models via Vertex AI - Modified calculateCost method to handle models where cacheReadsPrice is only defined in tiers - Added comprehensive tests for Vertex AI tiered pricing calculation - Fixes issue where local cost calculation always showed highest tier rates Fixes RooCodeInc#8017 * Delete src/api/providers/__tests__/vertex-tiered-pricing.spec.ts --------- Co-authored-by: Roo Code <[email protected]> Co-authored-by: Daniel <[email protected]> * update sambanova models (RooCodeInc#8186) * update sambanova models * fix typo * Fix duplicate rehydrate during reasoning; centralize rehydrate and preserve cancel metadata (RooCodeInc#8171) Co-authored-by: daniel-lxs <[email protected]> * Wrap code blocks by default (RooCodeInc#8194) * Merge remote-tracking branch 'upstream/main' into roo-to-main * Add an announcement for Supernova (RooCodeInc#8197) * Add an announcement for Supernova * Remove duplicate keys * refactor(chat): optimize ChatRow rendering and user info handling * Release v3.28.5 (RooCodeInc#8198) chore: add changeset for v3.28.5 * Changeset version bump (RooCodeInc#8199) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Remove language selection and word wrap toggle from CodeBlock (RooCodeInc#8208) * feat: Add keyboard shortcut for toggling auto-approve (Cmd/Ctrl+Alt+A) (RooCodeInc#8214) Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: Roo Code <[email protected]> Co-authored-by: Matt Rubens <[email protected]> * Bare metal evals fixes (RooCodeInc#8224) Co-authored-by: Roo Code <[email protected]> * Fix: Improve reasoning block formatting for better readability (RooCodeInc#7868) * fix: prevent checkpoint text from wrapping in non-English languages (RooCodeInc#8207) Co-authored-by: Roo Code <[email protected]> * fix: respect Ollama Modelfile num_ctx configuration (RooCodeInc#7798) Co-authored-by: Roo Code <[email protected]> Co-authored-by: Hannes Rudolph <[email protected]> Co-authored-by: daniel-lxs <[email protected]> * feat: add package.nls.json checking to find-missing-translations script (RooCodeInc#8255) Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: Roo Code <[email protected]> Co-authored-by: daniel-lxs <[email protected]> Co-authored-by: Matt Rubens <[email protected]> * feat(types): add GPT-5-Codex model (RooCodeInc#8260) * chore: add changeset for v3.28.6 (RooCodeInc#8261) * Follow-up questions should trigger the "interactive" state (RooCodeInc#8259) * chore: add changeset for v3.28.6 (RooCodeInc#8263) * Changeset version bump (RooCodeInc#8262) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <[email protected]> * Add image for 3.28.5 (RooCodeInc#8266) * feat: add zai-org/GLM-4.5-turbo model to Chutes provider (RooCodeInc#8157) Co-authored-by: Roo Code <[email protected]> * Cloud account switcher (RooCodeInc#8223) * Cloud account switcher * Bare metal evals fixes (RooCodeInc#8224) Co-authored-by: Roo Code <[email protected]> * Rounded icons in chat account switcher * Visual tweaks to CloudView * Remove hardcoded timeout * Safer check * PR feedback * Fix test * Check for org mismatches in handleCredentialsChange * Cloud: use the existing auth event flow to handle org switching * Cleanup: broadcast() might be confusingly named. --------- Co-authored-by: Chris Estreich <[email protected]> Co-authored-by: Roo Code <[email protected]> Co-authored-by: Bruno Bergher <[email protected]> Co-authored-by: John Richmond <[email protected]> * fix: checkpoint restore popover positioning issue (RooCodeInc#8219) (RooCodeInc#8220) Co-authored-by: Roo Code <[email protected]> Co-authored-by: daniel-lxs <[email protected]> * ux: Collapse thinking blocks by default (but control all of them with a keyboard shortcut) (RooCodeInc#8254) Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: Roo Code <[email protected]> Co-authored-by: Matt Rubens <[email protected]> * Remove org switcher tooltip (RooCodeInc#8269) * chore: add changeset for v3.28.7 (RooCodeInc#8268) * Changeset version bump (RooCodeInc#8271) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <[email protected]> * Merge remote-tracking branch 'upstream/main' into roo-to-main * fix(i18n): spelling mistake in zh-CN chat.json * web: Opengraph image (RooCodeInc#8285) Co-authored-by: Matt Rubens <[email protected]> * Set port 3446 for web-evals in production mode (RooCodeInc#8288) * Show cloud switcher and option to add a team when logged in (RooCodeInc#8291) * fix: include initial ask in condense summarization (RooCodeInc#8293) (RooCodeInc#8298) * fix: include initial ask in condense summarization (RooCodeInc#8293) --------- Co-authored-by: Matt Rubens <[email protected]> * Fix frequent "No tool used" errors by clarifying tool-use rules (RooCodeInc#8292) * Add a couple more free models to the Roo provider (RooCodeInc#8304) * Release v3.28.8 (RooCodeInc#8305) * Changeset version bump (RooCodeInc#8306) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <[email protected]> * feat: log out from cloud when resetting extension state (RooCodeInc#8312) Co-authored-by: Roo Code <[email protected]> Co-authored-by: Matt Rubens <[email protected]> * Merge remote-tracking branch 'upstream/main' into roo-to-main * feat: Add telemetry tracking to DismissibleUpsell component (RooCodeInc#8309) * feat: add telemetry tracking to DismissibleUpsell component - Added UPSELL_DISMISSED and UPSELL_CLICKED events to TelemetryEventName enum - Updated DismissibleUpsell component to track clicks and dismissals with telemetry - Added telemetry tests to DismissibleUpsell test suite - Events include upsellId in the payload for tracking specific upsells * refactor(webview): make handleDismiss synchronous in DismissibleUpsell test(webview): add scenario where dismissOnClick=true without onClick tracks only UPSELL_DISMISSED; update tests; all tests passing locally --------- Co-authored-by: Roo Code <[email protected]> * Correct tool use suggestion to improve model adherence to suggestion (RooCodeInc#8315) * Correct tool use suggestion to improve model adherence to suggestion * tweak * removing user hint when refreshing models (RooCodeInc#7710) * feat(zgsm): add quota info display and periodic updates * Show the Roo provider on the welcome screen (RooCodeInc#8317) * wip: Website Improvements (RooCodeInc#8303) Co-authored-by: Matt Rubens <[email protected]> * refactor: remove pr-reviewer mode (RooCodeInc#8222) * feat: add animated quota display with staggered transitions * Merge remote-tracking branch 'upstream/main' into roo-to-main * web: More website copy tweaks (RooCodeInc#8326) Co-authored-by: Matt Rubens <[email protected]> * fix: remove <thinking> tags from prompts for cleaner output and fewer tokens (RooCodeInc#8319) Co-authored-by: Roo Code <[email protected]> Co-authored-by: Hannes Rudolph <[email protected]> * Upgrade Supernova (RooCodeInc#8330) * chore: add changeset for v3.28.9 (RooCodeInc#8336) * Changeset version bump (RooCodeInc#8337) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <[email protected]> * Track when telemetry settings change (RooCodeInc#8339) * fix: use max_completion_tokens for GPT-5 models in LiteLLM provider (RooCodeInc#6980) Co-authored-by: Roo Code <[email protected]> Co-authored-by: daniel-lxs <[email protected]> * Make chat icons shrink-0 (RooCodeInc#8343) * web: Testimonials (RooCodeInc#8360) * Adds lots of testimonials, 5-stars from marketplace * Fits more testimonials in one page * Testimonial heading tweak * ci: refresh contrib.rocks cache workflow (RooCodeInc#8083) * feat: add Claude 4.5 Sonnet model across all providers (RooCodeInc#8368) * chore: add changeset for v3.28.10 (RooCodeInc#8369) * Changeset version bump (RooCodeInc#8370) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <[email protected]> * fix: correct AWS Bedrock Claude Sonnet 4.5 model identifier (RooCodeInc#8372) Fixes RooCodeInc#8371 - Updates the model ID from anthropic.claude-4.5-sonnet-v1:0 to anthropic.claude-sonnet-4-5-20250929-v1:0 to match AWS Bedrock naming convention Co-authored-by: Roo Code <[email protected]> * fix: correct Claude Sonnet 4.5 model ID format (RooCodeInc#8373) * chore: add changeset for v3.28.11 (RooCodeInc#8374) * Changeset version bump (RooCodeInc#8375) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <[email protected]> * fix: Anthropic Sonnet 4.5 model id + Bedrock 1M context checkbox (RooCodeInc#8384) fix(anthropic): use claude-sonnet-4-5 id fix(bedrock): enable 1M context checkbox for Sonnet 4.5 via shared list closes RooCodeInc#8379 closes RooCodeInc#8381 * chore: add changeset for v3.28.12 (RooCodeInc#8385) * Changeset version bump (RooCodeInc#8376) * changeset version bump * Revise changelog for version 3.28.12 Updated version number and consolidated patch notes. --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <[email protected]> * Fix Vertex Sonnet 4.5 (RooCodeInc#8391) * fix: remove topP parameter from Bedrock inference config (RooCodeInc#8388) Co-authored-by: Matt Rubens <[email protected]> * chore: add changeset for v3.28.13 (RooCodeInc#8393) * Changeset version bump (RooCodeInc#8394) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <[email protected]> --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: NaccOll <[email protected]> Co-authored-by: Daniel <[email protected]> Co-authored-by: Ton Hoang Nguyen (Bill) <[email protected]> Co-authored-by: daniel-lxs <[email protected]> Co-authored-by: Matt Rubens <[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: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: ssweens <[email protected]> Co-authored-by: Chris Estreich <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: ItsOnlyBinary <[email protected]> Co-authored-by: Bruno Bergher <[email protected]> Co-authored-by: John Richmond <[email protected]> Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: Bruno Bergher <[email protected]> Co-authored-by: Mubeen Zulfiqar <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: James Edward Dillard <[email protected]> Co-authored-by: Jorge Piedrahita Ortiz <[email protected]> Co-authored-by: John Costa <[email protected]>
1 parent 4e0c681 commit ae060db

File tree

18 files changed

+272
-84
lines changed

18 files changed

+272
-84
lines changed
Lines changed: 48 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,67 @@
1-
name: Update Contributors
1+
name: Update Contributors # Refresh contrib.rocks image cache
22

33
on:
4-
push:
5-
branches:
6-
- main
74
workflow_dispatch:
85

6+
permissions:
7+
contents: write
8+
pull-requests: write
9+
910
jobs:
10-
update-contributors:
11+
refresh-contrib-cache:
1112
runs-on: ubuntu-latest
12-
permissions:
13-
contents: write # Needed for pushing changes.
14-
pull-requests: write # Needed for creating PRs.
1513
steps:
16-
- name: Checkout code
14+
- name: Checkout
1715
uses: actions/checkout@v4
18-
- name: Setup Node.js and pnpm
19-
uses: ./.github/actions/setup-node-pnpm
20-
- name: Disable Husky
16+
17+
- name: Bump cacheBust in all README files
2118
run: |
22-
echo "HUSKY=0" >> $GITHUB_ENV
23-
git config --global core.hooksPath /dev/null
24-
- name: Update contributors and format
19+
set -euo pipefail
20+
TS="$(date +%s)"
21+
# Target only the root README.md and localized READMEs under locales/*/README.md
22+
mapfile -t FILES < <(git ls-files README.md 'locales/*/README.md' || true)
23+
24+
if [ "${#FILES[@]}" -eq 0 ]; then
25+
echo "No target README files found." >&2
26+
exit 1
27+
fi
28+
29+
UPDATED=0
30+
for f in "${FILES[@]}"; do
31+
if grep -q 'cacheBust=' "$f"; then
32+
# Use portable sed in GNU environment of ubuntu-latest
33+
sed -i -E "s/cacheBust=[0-9]+/cacheBust=${TS}/g" "$f"
34+
echo "Updated cacheBust in $f"
35+
UPDATED=1
36+
else
37+
echo "Warning: cacheBust parameter not found in $f" >&2
38+
fi
39+
done
40+
41+
if [ "$UPDATED" -eq 0 ]; then
42+
echo "No files were updated. Ensure READMEs embed contrib.rocks with cacheBust param." >&2
43+
exit 1
44+
fi
45+
46+
- name: Detect changes
47+
id: changes
2548
run: |
26-
pnpm update-contributors
27-
npx prettier --write README.md locales/*/README.md
28-
if git diff --quiet; then echo "changes=false" >> $GITHUB_OUTPUT; else echo "changes=true" >> $GITHUB_OUTPUT; fi
29-
id: check-changes
30-
env:
31-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
49+
if git diff --quiet; then
50+
echo "changed=false" >> $GITHUB_OUTPUT
51+
else
52+
echo "changed=true" >> $GITHUB_OUTPUT
53+
fi
54+
3255
- name: Create Pull Request
33-
if: steps.check-changes.outputs.changes == 'true'
56+
if: steps.changes.outputs.changed == 'true'
3457
uses: peter-evans/create-pull-request@v7
3558
with:
3659
token: ${{ secrets.GITHUB_TOKEN }}
3760
commit-message: "docs: update contributors list [skip ci]"
3861
committer: "github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>"
39-
branch: update-contributors
62+
branch: refresh-contrib-cache
4063
delete-branch: true
41-
title: "Update contributors list"
64+
title: "Refresh contrib.rocks image cache (all READMEs)"
4265
body: |
43-
Automated update of contributors list and related files
44-
45-
This PR was created automatically by a GitHub Action workflow and includes all changed files.
66+
Automated refresh of the contrib.rocks image cache by bumping the cacheBust parameter in README.md and locales/*/README.md.
4667
base: main

apps/web-roo-code/src/components/homepage/testimonials.tsx

Lines changed: 104 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,45 +4,114 @@ import { useRef, useCallback, useEffect } from "react"
44
import { motion } from "framer-motion"
55
import useEmblaCarousel from "embla-carousel-react"
66
import AutoPlay from "embla-carousel-autoplay"
7-
import { ChevronLeft, ChevronRight } from "lucide-react"
7+
import { ChevronLeft, ChevronRight, Star } from "lucide-react"
88

99
export interface Testimonial {
10-
id: number
1110
name: string
1211
role: string
13-
company: string
14-
image?: string
12+
origin: string
1513
quote: string
14+
image?: string
15+
stars?: number
1616
}
1717

1818
export const testimonials: Testimonial[] = [
1919
{
20-
id: 1,
2120
name: "Luca",
2221
role: "Reviewer",
23-
company: "VS Code Marketplace",
22+
origin: "VS Code Marketplace",
2423
quote: "Costrict is an absolute game-changer! 🚀 It makes coding faster, easier, and more intuitive with its smart AI-powered suggestions, real-time debugging, and automation features. The seamless integration with VS Code is a huge plus, and the constant updates ensure it keeps getting better",
24+
stars: 5,
2525
},
2626
{
27-
id: 2,
2827
name: "Taro Woollett-Chiba",
2928
role: "AI Product Lead",
30-
company: "Vendidit",
29+
origin: "Vendidit",
3130
quote: "Easily the best AI code editor. Costrict has the best features and capabilities, along with the best development team. I swear, they're the fastest to support new models and implement useful functionality whenever users mention it... simply amazing.",
3231
},
3332
{
34-
id: 3,
3533
name: "Can Nuri",
3634
role: "Reviewer",
37-
company: "VS Code Marketplace",
35+
origin: "VS Code Marketplace",
3836
quote: "Costrict is one of the most inspiring projects I have seen for a long time. It shapes the way I think and deal with software development.",
37+
stars: 5,
3938
},
4039
{
41-
id: 4,
4240
name: "Michael",
4341
role: "Reviewer",
44-
company: "VS Code Marketplace",
42+
origin: "VS Code Marketplace",
4543
quote: "I switched from Windsurf to Costrict in January and honestly, it's been a huge upgrade. Windsurf kept making mistakes and being dumb when I ask it for things. Costrict just gets it. Projects that used to take a full day now wrap up before lunch. ",
44+
stars: 5,
45+
},
46+
{
47+
name: "Darien Hardin",
48+
role: "Reviewer",
49+
origin: "VS Code Marketplace",
50+
quote: "By far the best coding tool I have used. Looking forward to where this goes in the future. Also, their Discord is an excellent resource with many knowledgeable users sharing their discoveries.",
51+
stars: 5,
52+
},
53+
{
54+
name: "Wiliam Azzam",
55+
role: "Reviewer",
56+
origin: "VS Code Marketplace",
57+
quote: "I've tried Cursor, Windsurf, Cline, Trae and others, and although using RooCode with OpenRouter is more expensive, it is also far more effective. Its agents and initial setup, and learning how to use Code/Architect/Orchestrator, help a great deal in developing quality projects.",
58+
stars: 5,
59+
},
60+
{
61+
name: "Matěj Zapletal",
62+
role: "Reviewer",
63+
origin: "VS Code Marketplace",
64+
quote: "Definitely the best AI coding agent extension.",
65+
stars: 5,
66+
},
67+
{
68+
name: "Ali Davachi",
69+
role: "Reviewer",
70+
origin: "VS Code Marketplace",
71+
quote: "We tried the rest, now we are using the best. The alternatives are more restrictive. I didn't use competitors for a reason. This team is killing it.",
72+
stars: 5,
73+
},
74+
{
75+
name: "Ryan Booth",
76+
role: "Reviewer",
77+
origin: "VS Code Marketplace",
78+
quote: "I work inside Costrict about 60+ hours a week and usually Costrict is building something at all hours of the day. An amazing tool by an amazing team!",
79+
stars: 5,
80+
},
81+
{
82+
name: "Matthew Martin",
83+
role: "Reviewer",
84+
origin: "VS Code Marketplace",
85+
quote: "i spent a fortune trying to dial in various tools to get them to work the way i want, and then i found roocode. customizable for your flavors on your terms. this is what i always wanted.",
86+
stars: 5,
87+
},
88+
{
89+
name: "Edwin Jacques",
90+
role: "Reviewer",
91+
origin: "VS Code Marketplace",
92+
quote: "The BEST. Super fast, no-nonsense, UI that makes sense, many API provider choices, responsive, helpful developer community.",
93+
stars: 5,
94+
},
95+
{
96+
name: "Sean McCann",
97+
role: "Reviewer",
98+
origin: "VS Code Marketplace",
99+
quote: "Costrict is impressively capable while staying refreshingly simple. It integrates seamlessly into VS Code and handles everything from generating code to refactoring with accuracy and speed. It feels like a natural part of the workflow—no clutter, just results. Extra points for the flexibility of the different agents and the ability to customize them to fit the job.",
100+
stars: 5,
101+
},
102+
{
103+
name: "Colin Tate",
104+
role: "Reviewer",
105+
origin: "VS Code Marketplace",
106+
quote: "Absolutely amazing extension. I had tried Cursor previously, and this just beats it hands down. I've used it for several large projects now, and it is now my go-to for creating things that would normally take weeks or months. Highly recommended.",
107+
stars: 5,
108+
},
109+
{
110+
name: "Michael Scott",
111+
role: "Reviewer",
112+
origin: "VS Code Marketplace",
113+
quote: "I've used all the IDEs and all the assistants - Costrict is hands down the best of them. It's also one of the few that lets you bring your own API keys - no subscriptions required, just pay as you need/go! Fantastic team and support as well!",
114+
stars: 5,
46115
},
47116
]
48117

@@ -58,8 +127,8 @@ export function Testimonials() {
58127
[
59128
AutoPlay({
60129
playOnInit: true,
61-
delay: 4000,
62-
stopOnInteraction: true,
130+
delay: 3_500,
131+
stopOnInteraction: false,
63132
stopOnMouseEnter: true,
64133
stopOnFocusIn: true,
65134
}),
@@ -122,53 +191,53 @@ export function Testimonials() {
122191
</div>
123192

124193
<div className="container relative z-10 mx-auto px-4 sm:px-6 lg:px-8">
125-
<div className="mx-auto mb-8 max-w-5xl text-center">
194+
<div className="mx-auto mb-8 md:max-w-2xl text-center">
126195
<h2 className="text-4xl font-bold tracking-tight sm:text-5xl">
127-
AI-forward developers are using Roo Code
196+
Developers <em>really</em> shipping with AI are using Costrict
128197
</h2>
129198
<p className="mt-6 text-lg text-muted-foreground">
130-
Join more than 800k people revolutionizing their workflow worldwide
199+
Join more than 1M people revolutionizing their workflow worldwide
131200
</p>
132201
</div>
133202

134203
<motion.div
135-
className="relative mx-auto max-w-[1400px]"
204+
className="relative -mx-4 md:mx-auto max-w-[1400px]"
136205
variants={containerVariants}
137206
initial="hidden"
138207
whileInView="visible"
139208
viewport={{ once: true }}>
140209
{/* Previous Button */}
141210
<button
142211
onClick={scrollPrev}
143-
className="absolute left-0 top-1/2 z-20 -translate-y-1/2 rounded-full border border-border/50 bg-background/80 p-2 backdrop-blur-xl transition-all duration-300 hover:scale-110 hover:shadow-lg md:left-4 md:p-3 lg:left-8"
212+
className="absolute left-1 top-1/2 z-20 -translate-y-1/2 rounded-full border border-border/50 bg-background/80 p-2 backdrop-blur-xl transition-all duration-300 hover:scale-110 hover:shadow-lg md:left-4 md:p-3 lg:left-8"
144213
aria-label="Previous testimonial">
145214
<ChevronLeft className="h-5 w-5 text-muted-foreground transition-colors hover:text-foreground md:h-6 md:w-6" />
146215
</button>
147216

148217
{/* Next Button */}
149218
<button
150219
onClick={scrollNext}
151-
className="absolute right-0 top-1/2 z-20 -translate-y-1/2 rounded-full border border-border/50 bg-background/80 p-2 backdrop-blur-xl transition-all duration-300 hover:scale-110 hover:shadow-lg md:right-4 md:p-3 lg:right-8"
220+
className="absolute right-1 top-1/2 z-20 -translate-y-1/2 rounded-full border border-border/50 bg-background/80 p-2 backdrop-blur-xl transition-all duration-300 hover:scale-110 hover:shadow-lg md:right-4 md:p-3 lg:right-8"
152221
aria-label="Next testimonial">
153222
<ChevronRight className="h-5 w-5 text-muted-foreground transition-colors hover:text-foreground md:h-6 md:w-6" />
154223
</button>
155224

156225
{/* Gradient Overlays */}
157-
<div className="absolute inset-y-0 left-0 z-10 w-[10%] bg-gradient-to-r from-background to-transparent pointer-events-none md:w-[15%]" />
158-
<div className="absolute inset-y-0 right-0 z-10 w-[10%] bg-gradient-to-l from-background to-transparent pointer-events-none md:w-[15%]" />
226+
<div className="hidden md:block absolute inset-y-0 left-0 z-10 w-[10%] bg-gradient-to-r from-background to-transparent pointer-events-none md:w-[15%]" />
227+
<div className="hidden md:block absolute inset-y-0 right-0 z-10 w-[10%] bg-gradient-to-l from-background to-transparent pointer-events-none md:w-[15%]" />
159228

160229
{/* Embla Carousel Container */}
161230
<div className="overflow-hidden" ref={emblaRef}>
162231
<div className="flex">
163232
{testimonials.map((testimonial) => (
164233
<div
165-
key={testimonial.id}
166-
className="relative min-w-0 flex-[0_0_85%] px-2 md:flex-[0_0_70%] md:px-4 lg:flex-[0_0_60%]">
234+
key={testimonial.name}
235+
className="relative min-w-0 flex-[0_0_85%] px-2 md:flex-[0_0_70%] md:px-4 lg:flex-[0_0_30%]">
167236
<div className="group relative py-10 h-full">
168237
<div className="relative flex h-full flex-col rounded-2xl border border-border bg-background transition-all duration-500 ease-out group-hover:scale-[1.02] group-hover:border-border group-hover:bg-background/40 group-hover:shadow-xl dark:border-border/70 dark:bg-background/40 dark:group-hover:border-border dark:group-hover:bg-background/60 dark:group-hover:shadow-[0_20px_50px_rgba(59,130,246,0.15)]">
169-
<div className="flex flex-1 flex-col p-6 md:p-8">
238+
<div className="flex flex-1 flex-col p-4 md:p-6">
170239
<div className="flex-1">
171-
<p className="relative text-sm leading-relaxed text-muted-foreground transition-colors duration-300 group-hover:text-foreground/80 dark:text-foreground/70 dark:group-hover:text-foreground/90 md:text-lg">
240+
<p className="relative text-sm leading-relaxed text-muted-foreground transition-colors duration-300 group-hover:text-foreground/80 dark:text-foreground/70 dark:group-hover:text-foreground/90">
172241
{testimonial.quote}
173242
</p>
174243
</div>
@@ -178,7 +247,15 @@ export function Testimonials() {
178247
{testimonial.name}
179248
</h3>
180249
<p className="text-sm text-muted-foreground transition-colors duration-300 dark:text-muted-foreground/80">
181-
{testimonial.role} at {testimonial.company}
250+
{testimonial.role} at {testimonial.origin}
251+
{testimonial.stars && (
252+
<span className="flex items-center mt-1">
253+
{" "}
254+
{Array.from({ length: testimonial.stars }, (_, i) => (
255+
<Star key={i} className="size-4 fill-violet-500" />
256+
))}
257+
</span>
258+
)}
182259
</p>
183260
</div>
184261
</div>

packages/types/src/providers/anthropic.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,28 @@ export type AnthropicModelId = keyof typeof anthropicModels
66
export const anthropicDefaultModelId: AnthropicModelId = "claude-sonnet-4-20250514"
77

88
export const anthropicModels = {
9+
"claude-sonnet-4-5": {
10+
maxTokens: 64_000, // Overridden to 8k if `enableReasoningEffort` is false.
11+
contextWindow: 200_000, // Default 200K, extendable to 1M with beta flag 'context-1m-2025-08-07'
12+
supportsImages: true,
13+
supportsComputerUse: true,
14+
supportsPromptCache: true,
15+
inputPrice: 3.0, // $3 per million input tokens (≤200K context)
16+
outputPrice: 15.0, // $15 per million output tokens (≤200K context)
17+
cacheWritesPrice: 3.75, // $3.75 per million tokens
18+
cacheReadsPrice: 0.3, // $0.30 per million tokens
19+
supportsReasoningBudget: true,
20+
// Tiered pricing for extended context (requires beta flag 'context-1m-2025-08-07')
21+
tiers: [
22+
{
23+
contextWindow: 1_000_000, // 1M tokens with beta flag
24+
inputPrice: 6.0, // $6 per million input tokens (>200K context)
25+
outputPrice: 22.5, // $22.50 per million output tokens (>200K context)
26+
cacheWritesPrice: 7.5, // $7.50 per million tokens (>200K context)
27+
cacheReadsPrice: 0.6, // $0.60 per million tokens (>200K context)
28+
},
29+
],
30+
},
931
"claude-sonnet-4-20250514": {
1032
maxTokens: 64_000, // Overridden to 8k if `enableReasoningEffort` is false.
1133
contextWindow: 200_000, // Default 200K, extendable to 1M with beta flag 'context-1m-2025-08-07'

packages/types/src/providers/bedrock.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,21 @@ export const bedrockDefaultPromptRouterModelId: BedrockModelId = "anthropic.clau
1313
// of the default prompt routers AWS enabled for GA of the promot router
1414
// feature.
1515
export const bedrockModels = {
16+
"anthropic.claude-sonnet-4-5-20250929-v1:0": {
17+
maxTokens: 8192,
18+
contextWindow: 200_000,
19+
supportsImages: true,
20+
supportsComputerUse: true,
21+
supportsPromptCache: true,
22+
supportsReasoningBudget: true,
23+
inputPrice: 3.0,
24+
outputPrice: 15.0,
25+
cacheWritesPrice: 3.75,
26+
cacheReadsPrice: 0.3,
27+
minTokensPerCachePoint: 1024,
28+
maxCachePoints: 4,
29+
cachableFields: ["system", "messages", "tools"],
30+
},
1631
"amazon.nova-pro-v1:0": {
1732
maxTokens: 5000,
1833
contextWindow: 300_000,
@@ -443,3 +458,7 @@ export const BEDROCK_REGIONS = [
443458
].sort((a, b) => a.value.localeCompare(b.value))
444459

445460
export const BEDROCK_CLAUDE_SONNET_4_MODEL_ID = "anthropic.claude-sonnet-4-20250514-v1:0"
461+
export const BEDROCK_1M_CONTEXT_MODEL_IDS = [
462+
"anthropic.claude-sonnet-4-20250514-v1:0",
463+
"anthropic.claude-sonnet-4-5-20250929-v1:0",
464+
] as const

packages/types/src/providers/claude-code.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,14 @@ export function getClaudeCodeModelId(baseModelId: ClaudeCodeModelId, useVertex =
4040
}
4141

4242
export const claudeCodeModels = {
43+
"claude-sonnet-4-5": {
44+
...anthropicModels["claude-sonnet-4-5"],
45+
supportsImages: false,
46+
supportsPromptCache: true, // Claude Code does report cache tokens
47+
supportsReasoningEffort: false,
48+
supportsReasoningBudget: false,
49+
requiredReasoningBudget: false,
50+
},
4351
"claude-sonnet-4-20250514": {
4452
...anthropicModels["claude-sonnet-4-20250514"],
4553
supportsImages: false,

packages/types/src/providers/lite-llm.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export const LITELLM_COMPUTER_USE_MODELS = new Set([
3030
"vertex_ai/claude-opus-4-1@20250805",
3131
"vertex_ai/claude-opus-4@20250514",
3232
"vertex_ai/claude-sonnet-4@20250514",
33+
"vertex_ai/claude-sonnet-4-5@20250929",
3334
"openrouter/anthropic/claude-3.5-sonnet",
3435
"openrouter/anthropic/claude-3.5-sonnet:beta",
3536
"openrouter/anthropic/claude-3.7-sonnet",

0 commit comments

Comments
 (0)