-
Notifications
You must be signed in to change notification settings - Fork 2.6k
chore(deps): update dependency esbuild to ^0.25.0 #3282
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
* deleteTasksWithIDs protobus migration * Moved deleteTasksWithIds to dedicated message type * Created common StringArrayRequest * Delete webview-ui/.vite-port
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* v3.15.3 (#3133) * More robust process killing (#3136) * Fix empty command bug (#3139) * Changeset version bump (#3134) * changeset version bump * Update CHANGELOG.md --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Chris Estreich <[email protected]> * Add isSubtask to telemetry (#3141) * Gemini caching tweaks (#3142) * Remove help button from title bar (#3150) * Fix issues with subtasks attempting completion along with commands (#3156) * Changeset version bump (#3149) * changeset version bump * Update CHANGELOG.md --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Chris Estreich <[email protected]> * Update @google/genai package (#3166) * perf: optimize code block rendering performance (#3135) feat: optimize code block rendering performance Memoize CodeBlock components to prevent unnecessary re-renders: - Add MemoizedCodeContent for syntax highlighted HTML - Add MemoizedStyledPre for container element - Properly type all component props - Reduce React reconciliation work for complex code blocks Signed-off-by: Eric Wheeler <[email protected]> Co-authored-by: Eric Wheeler <[email protected]> * Changeset version bump (#3167) * changeset version bump * Updating CHANGELOG.md format * Update CHANGELOG.md --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: R00-B0T <[email protected]> Co-authored-by: Chris Estreich <[email protected]> * Add support for tests that use ESM libraries (#3172) * Add support for tests that use ESM libraries * Disable win32 for this test for now * Tidy up the Cline class a bit (#3100) * Tidy up the Cline class a bit * Clean up more comments * fix: migrate and persist modeApiConfigs for per-mode API profiles (#3071) * feat: clickable code references in model responses navigate to source lines (#3087) Co-authored-by: Eric Wheeler <[email protected]> * Move environment details to a separate module, add tests (#3078) * Improve Accessibility of Auto-Approve Toggles (#3145) Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: DEON NEL <[email protected]> Co-authored-by: cte <[email protected]> * feat: add VSCode terminal environment inheritance setting (#2862) Co-authored-by: Eric Wheeler <[email protected]> * Webview message handler + terminal settings cleanup (#3189) * chore: Configure Renovate (#1771) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat: Add Groq and Chutes API providers (#3034) Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: Chris Estreich <[email protected]> * Organize provider settings into separate components (#3196) * Use Lucide icons and translations in the code block (#3203) * Requesty provider fixes (#3193) Co-authored-by: Chris Estreich <[email protected]> * Move remaining provider settings into separate components (#3208) * #1287 - ignore stderr of MCP servers unless it really fails to connect (#1441) Co-authored-by: cte <[email protected]> * feat: Add error console to MCP servers - Edited with Roo Code and Anthropic Claude 3.5 (#2722) Co-authored-by: cte <[email protected]> * Feat: Vertical settings tabs (#2914) Co-authored-by: Matt Rubens <[email protected]> * Fix language select width calculation (#3201) * Fix/remove path lib webview (#2529) * chore: prepare for v3.16.0 release (#3214) * refactor: general UI improvements (#2987) * Add gemini-2.5-pro-preview-05-06 model (#3222) Add model gemini-2.5-pro-preview-05-06 * Update setup script to pull latest evals repo (#3200) * Enable Gemini prompt caching by default (#3225) * Changeset version bump (#3188) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Chris Estreich <[email protected]> * chore(deps): update dependency @types/node to v20.17.42 (#3194) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency vitest to v3.1.3 (#3212) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @types/node to v18.19.96 (#3191) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency tsx to v4.19.4 (#3211) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency glob to v11.0.2 (#3209) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency eslint-plugin-react to v7.37.5 (#3205) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency eslint-config-prettier to v10.1.2 (#3204) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @vscode/test-cli to ^0.0.10 (#3195) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @types/pdf-parse to v1.1.5 (#3227) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): replace dependency npm-run-all with npm-run-all2 ^5.0.0 (#3190) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: cte <[email protected]> * fix(deps): update dependency fast-xml-parser to v4.5.3 (#3228) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Add editor name to telemetry (#3229) * Add Dutch localization files (#3231) Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: Thomas Brugman <[email protected]> * Update contributors list (#3131) Co-authored-by: mrubens <[email protected]> * fix(deps): update dependency i18next to v24.2.3 (#3232) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency react-textarea-autosize to v8.5.9 (#3233) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix: wrap footer buttons in About section on narrow screens (#3234) * feat: Revamp contribution process and templates (#3246) * fix: update links in issue and pull request templates to relative paths (#3251) * Update CODE_OF_CONDUCT and CONTRIBUTING documents across multiple lan… (#3254) * fix(deps): update dependency styled-components to v6.1.17 (#3253) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency remove-markdown to v0.6.2 (#3252) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update react monorepo (#3265) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @changesets/cli to v2.29.3 (#3266) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @dotenvx/dotenvx to v1.43.0 (#3272) * chore(deps): update dependency @testing-library/react to v16.3.0 (#3273) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @types/node-cache to v4.2.5 (#3274) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @types/node to v20.17.44 (#3238) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @types/node to v18.19.98 (#3237) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency zod to v3.24.4 (#3255) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency react-virtuoso to v4.12.7 (#3250) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Tailwind migration (#3235) Co-authored-by: cte <[email protected]> * Detect tool loops (#3240) * Add LiteLLM provider (#3242) Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * chore(deps): update dependency @vscode/test-electron to v2.5.2 (#3280) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @vitejs/plugin-react to v4.4.1 (#3279) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update evals defaults, stop forking cte/evals (#3283) * chore(deps): update dependency drizzle-kit to ^0.31.0 (#3281) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * v3.16.1 (#3292) * Update contributors list (#3248) Co-authored-by: mrubens <[email protected]> * fix: reset the variable `isWaitingForFirstChunk` when catch exception (#3262) * Changeset version bump (#3230) * changeset version bump * Update CHANGELOG.md --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <[email protected]> * Clarify XML tool use formatting instructions (#3295) * v3.16.2 (#3298) * Update contributors list (#3296) docs: update contributors list [skip ci] Co-authored-by: mrubens <[email protected]> * Changeset version bump (#3300) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: R00-B0T <[email protected]> Co-authored-by: Matt Rubens <[email protected]> * chore(deps): update dependency mocha to v11.2.2 (#3293) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency prettier to v3.5.3 (#3294) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @types/node to v20.17.45 (#3302) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @types/node to v18.19.99 (#3301) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency lint-staged to v15.5.2 (#3290) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency knip to v5.55.0 (#3289) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency globals to v16.1.0 (#3288) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency eslint-plugin-storybook to ^0.12.0 (#3287) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix: add Elixir (.ex, .exs) file extension support in language parser (#3306) Co-authored-by: Friedrich Pfitzmann <[email protected]> * Revert "Tailwind migration" (#3321) Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * Changeset version bump (#3324) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: R00-B0T <[email protected]> Co-authored-by: Matt Rubens <[email protected]> * Update CHANGELOG.md (#3326) * fix: properly handle mode name overflow (#3328) * chore(deps): update dependency @types/node to v20.17.46 (#3325) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @types/node to v18.19.100 (#3323) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency ts-jest to v29.3.2 (#3318) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency rust to v1.86.0 (#3317) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency styled-components to v6.1.18 (#3316) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency knip to v5.55.1 (#3315) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix: project mcp allways allow (#3332) * fix: enhance focus styles in select-dropdown and docs url (#3336) * chore(deps): update dependency typescript to v5.8.3 (#3330) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency typescript-eslint to v8.32.0 (#3331) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update eslint monorepo to v9.26.0 (#3335) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency vite to v6.3.5 (#3334) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Fix: Enforce provider selection in OpenRouter by using 'only' parameter and disabling fallbacks (#3338) * Move checkpoint code into a separate module (#3291) * Move presentAssistantMessage into its own module (#3345) * build: prevent $esbuild-watch error (#1711) Co-authored-by: Eric Wheeler <[email protected]> * chore(deps): update eslint monorepo to v9.26.0 (#3340) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Disable Posthog autocapture in the code in addition to in the web console (#3303) * chore(deps): update dependency esbuild to ^0.25.0 (#3282) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Rename `Cline` to `Task` (#3352) * chore(deps): update storybook monorepo to v8.6.12 (#3350) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Stop leaking other provider settings (#3357) * Stop leaking other provider settings * Also filter out leaked properties on export * fix display issues with too long profile names in ChatTextArea.tsx (#3371) * fix: Prevent terminal focus theft on paste after command execution (#3356) * fix: show properly formatted multi-line commands in preview (#3368) Co-authored-by: Eric Wheeler <[email protected]> * Fix not being able to use specific providers on Openrouter (#3354) * fix: handle unsupported language errors gracefully in read_file tool (#3359) Co-authored-by: Eric Wheeler <[email protected]> * fix(prompts): revert to vscodetextarea to prevent race condition (#3343) * Simplify the process of setting the "active" provider profile (#3366) Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * fix(deps): update dependency @google/genai to ^0.13.0 (#3374) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @aws-sdk/client-bedrock-runtime to v3.806.0 (#3373) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update turbo monorepo to v2.5.3 (#3361) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency execa to v9.5.3 (#3360) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Get rid of `ApiConfiguration` type alias, rename `ApiConfigMeta` to `ProviderSettingsEntry` (#3380) * Export more types to the external API (#3383) * fix(deps): update dependency drizzle-zod to v0.7.1 (#3393) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency eslint-plugin-react to v7.37.5 (#3385) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency eslint-config-prettier to v10.1.5 (#3384) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v1.9.0 (#3382) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @tanstack/react-query to v5.75.7 (#3378) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update eslint monorepo to v9.26.0 (#3397) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency cmdk to v1.1.1 (#3398) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @libsql/client to ^0.15.0 (#3375) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Improve provider profile management in the external API (#3386) Co-authored-by: John Richmond <[email protected]> * Fix saving of OpenAI compatible headers (#3415) * Fix saving of OpenAI compatible headers * Code cleanup * Add test * Fix: forced-color-adjust in highlight theme (#3424) * v3.16.4 (#3426) * Changeset version bump (#3427) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: R00-B0T <[email protected]> Co-authored-by: Matt Rubens <[email protected]> * Revert "Improve provider profile management in the external API (#3386)" (#3440) * Changeset version bump (#3441) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: R00-B0T <[email protected]> Co-authored-by: Matt Rubens <[email protected]> * Pr template fix (#3448) * Fix links to Contributing Guidelines in pull request template * ../ * Tweaks to the issue/bug intended to make it more intuitive. (#3452) * Update bug report template for clarity and improved user guidance * Add Google Vertex AI and LiteLLM to API Provider options in bug report template * Refactor bug report template to enforce required fields for reproduct… (#3454) Refactor bug report template to enforce required fields for reproduction steps and outcome summary * fix(textarea): empty string as fallback (#3463) * Updated roadmap (#3469) * fix: webview terminal output processing error (#3028) * fix(deps): update dependency lucide-react to ^0.510.0 (#3402) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * ClineProvider.finishSubTask should wait for unpausing the parent task (#1870) * Restore profile management work + fix #3434 (#3449) Co-authored-by: Matt Rubens <[email protected]> * Changeset version bump (#3507) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: R00-B0T <[email protected]> Co-authored-by: Chris Estreich <[email protected]> * Improve command execution UI (#3509) * chore(deps): update dependency @changesets/cli to v2.29.4 (#3501) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency mermaid to v11.6.0 (#3417) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency drizzle-orm to ^0.43.0 (#3401) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency mammoth to v1.9.0 (#3409) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix: get model id from ApiHandler (#3512) Not all handlers/providers use apiModelId, but they do all return a model id from getModel(). * Gemini implicit caching (#3515) * Update CHANGELOG.md (#3518) * chore(deps): update dependency eslint-plugin-react to v7.37.5 (#3511) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency eslint-config-prettier to v10.1.5 (#3510) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @libsql/client to v0.15.5 (#3517) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency typescript-eslint to v8.32.1 (#3516) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Handle directory URI on diagnostics (#3457) * Use the provider-specific model info for the OpenRouter provider (#3430) * Greyscreen fix (#3474) Co-authored-by: Matt Rubens <[email protected]> * make apply_diff can deduce when line number in search part fix #2990 (#3329) * fix(deps): update dependency posthog-node to v4.17.1 (#3532) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency posthog-js to v1.240.6 (#3531) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @tanstack/react-query to v5.76.0 (#3527) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @aws-sdk/client-bedrock-runtime to v3.808.0 (#3525) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update eslint monorepo to v9.26.0 (#3524) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency react-i18next to v15.5.1 (#3535) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix: command validation failing on shell array indexing (#3530) Co-authored-by: Eric Wheeler <[email protected]> * fix(task): temporary fix for the ask error (#3471) Co-authored-by: cte <[email protected]> * Requesty: Only report final usage (#3542) * Add tests + benchmark for parseAssistantMessage V1 + 2 (#3538) * fix(deps): update dependency react-markdown to v9.1.0 (#3545) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency posthog-js to v1.241.1 (#3544) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency shiki to v3.4.0 (#3548) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Accidental execution of tool syntax fix (#3456) Co-authored-by: cte <[email protected]> * Revert "Accidental execution of tool syntax fix" (#3560) * Focus improvements (#3539) * Show LLM streaming file write content (#3241) * fix(deps): update dependency posthog-js to v1.242.0 (#3562) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Publish Roo Code types to NPM (#3563) * Revert "Publish Roo Code types to NPM" (#3566) Revert "Publish Roo Code types to NPM (#3563)" This reverts commit f031914450e0a4defcdd0ec2f1c4eb8692f75c37. * fix(deps): update tailwindcss monorepo to v4.1.6 (#3565) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update nextjs monorepo to v15.3.2 (#3564) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Make CONTRIBUTING.md more concise (#3472) * Add IPC types to roo-code.d.ts (#3568) * Switch to the new Roo message parser (#3567) * chore(deps): update actions/checkout action to v4 (#3569) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update actions/setup-node action to v4 (#3570) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency eslint-plugin-react to v7.37.5 (#3575) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency eslint-config-prettier to v10.1.5 (#3574) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @dotenvx/dotenvx to v1.44.0 (#3521) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Revert "fix(deps): update nextjs monorepo to v15.3.2" (#3578) * Fix linter warning + run prettier on everything (#3581) * Add a 'when to use' section to mode definitions (#3571) * Add a 'when to use' section to mode definitions * Remove defaults for now * Refactor: Update custom instructions for 'ask' mode (#3583) This commit refines the custom instructions for the 'ask' mode. The changes aim to provide clearer guidance to the AI, emphasizing thoroughness in answering questions and caution against prematurely switching to code implementation. Specifically, the instructions were updated as follows: - Changed "Make sure to answer the user's questions" to "Always answer the user’s questions thoroughly" - Changed "don't rush to switch to implementing code" to "do not switch to implementing code unless explicitly requested by the user" - Changed "Include Mermaid diagrams if they help make your response clearer" to "Include Mermaid diagrams when they clarify your response" These changes are reflected in both [`src/shared/modes.ts`](src/shared/modes.ts:80) and its corresponding snapshot file [`src/core/prompts/__tests__/__snapshots__/system.test.ts.snap`](src/core/prompts/__tests__/__snapshots__/system.test.ts.snap:5458). * Refactor: Update new_task tool description and mode examples (#3586) The description for the `new_task` tool has been simplified for clarity. Additionally, the example modes listed for the `mode` parameter have been updated to include "debug" instead of "ask". * feat:merge Roo Code conflicting code (#107) * feat: merge part of roo code (#111) * feat: merge part2 of roo code (#114) * feat: merge Roo Code (#115) * feat: merge Roo Code (#119) * feat: merge part of roo code (#121) * feat: merge part of roo code (#135) * fix: bug (#137) * test: Update 'roo' to 'shenma' in snap file to prevent test cases from failing This update changes the identifier 'roo' to 'shenma' in the snap file and code test file , ensuring that the relevant test cases now pass as expected. * fix: Fix ts error (#138) Co-authored-by: mini2s <[email protected]> * fix: language bug fix (#139) * fix: bug (#140) * fix: bug (#142) * test: Fix failing test cases and update files under "e2e" to ensure the GitHub Action "integration-test" runs successfully This commit includes fixes for existing failing test cases and necessary updates to files within the "e2e" directory to ensure that the "integration-test" workflow in GitHub Actions executes smoothly. * fix: language bug fix (#143) * Fix/unit test case (#144) * test: Update 'roo' to 'shenma' in snap file to prevent test cases from failing This update changes the identifier 'roo' to 'shenma' in the snap file and code test file , ensuring that the relevant test cases now pass as expected. * test: Fix failing test cases and update files under "e2e" to ensure the GitHub Action "integration-test" runs successfully This commit includes fixes for existing failing test cases and necessary updates to files within the "e2e" directory to ensure that the "integration-test" workflow in GitHub Actions executes smoothly. --------- Co-authored-by: dengbin <[email protected]> * Feat roo merge v3 (#146) * feat: add ZGSM provider settings and update auth configuration * refactor(zgsm): update ZGSM provider configuration and model handling * refactor(zgsm): update model selection logic and remove pricing details --------- Co-authored-by: mini2s <[email protected]> * Feat roo merge zgsm133 (#147) * fix: add truncateContent function to limit file content size (#103) * feat: support custom auth url (#102) * chore: add zgsm/src to Jest roots for improved test coverage (#104) * fix the wrong feature request URL * fix(github actions): ensure "Publish Extension" properly publishes version to GitHub Release (#105) Updated the "Publish Extension" GitHub Actions workflow to correctly package and publish releases to GitHub Release. This change ensures that the release process completes successfully and uploads the appropriate versioned assets. Co-authored-by: dengbin <[email protected]> * version: upgrade to 1.3.3 (#112) * chore: change the model field in the issue template to not required and optimize contribution documentation description. (#120) * fix: login text modify (#132) * fix: user doesn't open webview but trigger completion (#127) Enhances user authentication by adding logic to manage authentication callbacks without opening the webview when a valid token is present. * fix: an infinite loop in login (#134) * fix: simplify ZGSM auth URL generation by removing custom URL options * feat: add AI-related SVG icons and images for UI components --------- Co-authored-by: WayneWang00 <[email protected]> Co-authored-by: weiz3630 <[email protected]> Co-authored-by: 年欣阳69391 <[email protected]> Co-authored-by: Chris Nian <[email protected]> Co-authored-by: dengbinbox <[email protected]> Co-authored-by: dengbin <[email protected]> Co-authored-by: Liu Wei <[email protected]> Co-authored-by: xiaojingming <[email protected]> * feat: roo code merge (#148) * fix: add truncateContent function to limit file content size (#103) * feat: support custom auth url (#102) * chore: add zgsm/src to Jest roots for improved test coverage (#104) * fix the wrong feature request URL * fix(github actions): ensure "Publish Extension" properly publishes version to GitHub Release (#105) Updated the "Publish Extension" GitHub Actions workflow to correctly package and publish releases to GitHub Release. This change ensures that the release process completes successfully and uploads the appropriate versioned assets. Co-authored-by: dengbin <[email protected]> * version: upgrade to 1.3.3 (#112) * chore: change the model field in the issue template to not required and optimize contribution documentation description. (#120) * fix: login text modify (#132) * fix: user doesn't open webview but trigger completion (#127) Enhances user authentication by adding logic to manage authentication callbacks without opening the webview when a valid token is present. * fix: an infinite loop in login (#134) --------- Co-authored-by: WayneWang00 <[email protected]> Co-authored-by: weiz3630 <[email protected]> Co-authored-by: 年欣阳69391 <[email protected]> Co-authored-by: Chris Nian <[email protected]> Co-authored-by: dengbinbox <[email protected]> Co-authored-by: dengbin <[email protected]> Co-authored-by: Liu Wei <[email protected]> Co-authored-by: xiaojingming <[email protected]> * feat: roocode merge (#150) * fix: add truncateContent function to limit file content size (#103) * feat: support custom auth url (#102) * chore: add zgsm/src to Jest roots for improved test coverage (#104) * fix the wrong feature request URL * fix(github actions): ensure "Publish Extension" properly publishes version to GitHub Release (#105) Updated the "Publish Extension" GitHub Actions workflow to correctly package and publish releases to GitHub Release. This change ensures that the release process completes successfully and uploads the appropriate versioned assets. Co-authored-by: dengbin <[email protected]> * version: upgrade to 1.3.3 (#112) * chore: change the model field in the issue template to not required and optimize contribution documentation description. (#120) * fix: login text modify (#132) * fix: user doesn't open webview but trigger completion (#127) Enhances user authentication by adding logic to manage authentication callbacks without opening the webview when a valid token is present. * fix: an infinite loop in login (#134) --------- Co-authored-by: WayneWang00 <[email protected]> Co-authored-by: weiz3630 <[email protected]> Co-authored-by: 年欣阳69391 <[email protected]> Co-authored-by: Chris Nian <[email protected]> Co-authored-by: dengbinbox <[email protected]> Co-authored-by: dengbin <[email protected]> Co-authored-by: Liu Wei <[email protected]> Co-authored-by: xiaojingming <[email protected]> * feat: roocode merge (#151) * fix: add truncateContent function to limit file content size (#103) * feat: support custom auth url (#102) * chore: add zgsm/src to Jest roots for improved test coverage (#104) * fix the wrong feature request URL * fix(github actions): ensure "Publish Extension" properly publishes version to GitHub Release (#105) Updated the "Publish Extension" GitHub Actions workflow to correctly package and publish releases to GitHub Release. This change ensures that the release process completes successfully and uploads the appropriate versioned assets. Co-authored-by: dengbin <[email protected]> * version: upgrade to 1.3.3 (#112) * chore: change the model field in the issue template to not required and optimize contribution documentation description. (#120) * fix: login text modify (#132) * fix: user doesn't open webview but trigger completion (#127) Enhances user authentication by adding logic to manage authentication callbacks without opening the webview when a valid token is present. * fix: an infinite loop in login (#134) --------- Co-authored-by: WayneWang00 <[email protected]> Co-authored-by: weiz3630 <[email protected]> Co-authored-by: 年欣阳69391 <[email protected]> Co-authored-by: Chris Nian <[email protected]> Co-authored-by: dengbinbox <[email protected]> Co-authored-by: dengbin <[email protected]> Co-authored-by: Liu Wei <[email protected]> Co-authored-by: xiaojingming <[email protected]> * feat: merge roocode (#155) * Rename cline_docs -> docs (#3587) * Update contributors list (#3299) Co-authored-by: mrubens <[email protected]> * fix(deps): update dependency posthog-js to v1.242.1 (#3602) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Use a shadcn dialog for the announcement (#3604) * feat: add buildDocLink utility and 21 Internal Links to Docs (#3418) Co-authored-by: Matt Rubens <[email protected]> * Add build vsix Workflow (#3600) * build: enable source maps for improved debugging (#3596) Co-authored-by: Eric Wheeler <[email protected]> * v3.16.7 (#3614) * [Condense] Condense messages with an LLM rather than truncating (#3582) Co-authored-by: Matt Rubens <[email protected]> * Fix type generation (#3619) * Update contributors list (#3612) Co-authored-by: mrubens <[email protected]> * v3.17.0 (#3622) * Changeset version bump (#3556) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <[email protected]> * fix: correct Changelog link in localized README files (#3629) The Changelog link in `locales/ja/README.md` and other localized READMEswas pointing to a broken relative path, resulting in 404s.This commit updates the link to use a correct relative path (`../../CHANGELOG.md`)so that it works across all locales. * Fix incorrect reserved tokens calculation on OpenRouter (#3626) fix: improve token reservation logic in calculateTokenDistribution * Fix command display in the approval required case (#3636) * Changeset version bump (#3637) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: R00-B0T <[email protected]> Co-authored-by: Chris Estreich <[email protected]> * Fix how custom instructions are loaded into the API request (#3638)p * Lock the versions of vsce and ovsx (#3643) * Revert "Switch to the new Roo message parser" (#3649) * Changeset version bump (#3645) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Chris Estreich <[email protected]> * Import settings bug fix / improvements (#3657) * Export ProviderName type to Roo-Code-Types (#3675) * Log Cleanup to Remove Cline (#3704) * Rename Errors & Fix Spelling Mistake * Update src/core/task/Task.ts Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> --------- Co-authored-by: Matt Rubens <[email protected]> Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * #3679 - Fixes packaging to include correct tiktoken.wasm (lite) (#3697) - also, additions to .gitignore and .vscodeignore to prevent the IntelliJ .idea and .qodo folders from being included for git and packaging. * Adds refresh models button for Unbound provider (#3663) * Adds refresh models button for Unbound provider * Adds changeset * Optimizes code to prevent memory leak, add error messages * Adds unbound messages to all supported languages --------- Co-authored-by: Pugazhendhi <[email protected]> * Add Qwen3 model series to the Chutes provider (#3710) * Add Qwen3 model series to the Chutes provider New models for the Chutes provider: - Qwen/Qwen3-235B-A22B - Qwen/Qwen3-32B - Qwen/Qwen3-30B-A3B - Qwen/Qwen3-14B - Qwen/Qwen3-8B * add changeset * fix(webview): Fix links to filename:0 (#3727) * fix(webview): Fix links to filename:0 * Add changeset * LM studio reasoning support (thinking block) (#3719) lmstudio reasoning support (thinking block) Similar to ollama implementation in #1080 * feat(evals): add UI and backend support for importing and injecting f… (#3606) * [Condense Context] Track metrics around context condensing and show in UI * Add UI component * account for system prompt when estimating new context size * add header * bug fix * nit * nit * refactor * fix * add unit tests for condense * update sliding-window tests * add getApiMetrics.test.ts * fix failing tests * use chat.json * add translations * add tests for ContextCondenseRow * add changeset * camelCase * use Markdown for summary * use tailwind * non default export * rm test :/ * Make prompt input textareas resizable (#3691) (#3739) * feat: move play audio to webview to ensure cross-platform (#3659) Co-authored-by: sam hoang <[email protected]> * refactor: import multiple times (#3745) * Add YAML support for .roomode files alongside JSON processing (#3711) * ✨ feat(settings): Add allowedMaxRequests feature inspired by Cline (#3631) * feat(settings): Introduce the "auto-approve request count" feature from Cline This is the first minor UI feature I've added, so please let me know if I'm missing anything! (translations, organization, etc!) Please see commits for details introduce allowedMaxRequests to globalSettingsSchema update ExtensionState and its context with allowedMaxRequests implement UI for setting max requests in AutoApproveMenu component prompt user when auto-approval limit is reached with i18n support increment consecutiveAutoApprovedRequestsCount and reset upon user approval add translations for auto-approved request limit reached prompt in multiple languages add new UI for "auto_approval_max_req_reached" in ChatRowContent display prompt with title, description, and button for user action 🔧 chore(gitignore): add .idea to .gitignore to exclude IDE-specific files - remove .idea/workspace.xml to clean up repository * 🔧 chore(gitignore): add IDE configuration files to ignore list - add .idea directory to ignore JetBrains IDE configurations * 🌐 i18n(chat): add translation keys for api request limit - introduce translation keys for "title" and "unlimited" in multiple languages - update description for api request limit in various languages * 🌐 i18n(chat): migrate auto-approved request limit translations - move translations from common.json to chat.json across locales - update component to use Trans for dynamic text rendering * Update the UI for setting max requests * Hide the auto-approve limit warning once clicked --------- Co-authored-by: Matt Rubens <[email protected]> * Move error message for settings import failure into the correct position (#3752) Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: Chris Estreich <[email protected]> * feat: use template variables for version numbers in announcement strings (#3755) * Auto-reload core changes in dev mode (#3284) Co-authored-by: Matt Rubens <[email protected]> * Moved repo to new org (#3756) * Use yaml as default custom modes format (#3749) * [Condense] Add a button to condense the task context (#3623) * [Condense] Add a button to condense the task context * wip * wip * wip * bring back delete size * account for the system prompt in the context * update tests to use systemPrompt * add type * translations * nit * update tests * filter to the current task * nit * refactor * nit * non interactive option * simplify chat summary UI * changeset * nit * fix check-types * throw * [Condense] Fix double counting last message when condensing (#3763) * Get package publisher and name from package.json + command type safety (#3766) * Lm studio and ollama usage fix (#3707) * integration * Fix * [Condense] Change condense icon (#3768) * [Condense] Change condense icon * change to fold * feat: add gemini-2.5-flash-preview-05-20 models (#3769) * Add Gemini Flash 2.5 05-20 variants for the Vertex provider (#3758) * feat(api): add gemini-2.5-flash-preview-05-20 model configuration * feat(tests): update apiModelId to gemini-2.5-flash-preview-05-20 in ProviderSettingsManager tests in case the old version is deprecated * chore: add changeset * feat(api): update vertexModels to add gemini-2.5-flash-preview-05-20 variants * chore: update changeset * [Condense] Show indicator message when context is condensing (#3765) * [Condense] Show indicator message when context is condensing * changeset * translations * Another grey screen fix. (#3644) Memory memory memory * Fix: Missing or inconsistent syntax highlighting across UI components (#3656) * fix: Missing or inconsistent syntax highlighting across UI components - Change file listings to use 'shellsession' for terminal-like highlighting - Use 'markdown' for code definitions and instructions - Add file extension-based language detection for new files - Ensure consistent 'diff' highlighting for all diff content - Use 'xml' language for error messages - Make language property required in CodeAccordian - Set default fallback to 'txt' instead of undefined Fixes: #3655 Signed-off-by: Eric Wheeler <[email protected]> * chore: make language property required in CodeBlock - Updated CodeBlockProps interface to make language property required - Updated mock implementation to match the interface change - Ensured CodeAccordian always provides a fallback language value Signed-off-by: Eric Wheeler <[email protected]> --------- Signed-off-by: Eric Wheeler <[email protected]> Co-authored-by: Eric Wheeler <[email protected]> * Add contact section to pull request template for communication (#3771) * Update contributors list (#3620) Co-authored-by: mrubens <[email protected]> * More VSCode command / build fixes (#3780) --------- Signed-off-by: Eric Wheeler <[email protected]> Co-authored-by: Matt Rubens <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Chris Estreich <[email protected]> Co-authored-by: Hannes Rudolph <[email protected]> Co-authored-by: மனோஜ்குமார் பழனிச்சாமி <[email protected]> Co-authored-by: KJ7LNW <[email protected]> Co-authored-by: Eric Wheeler <[email protected]> Co-authored-by: Canyon Robins <[email protected]> Co-authored-by: R00-B0T <[email protected]> Co-authored-by: hatsu <[email protected]> Co-authored-by: Daniel <[email protected]> Co-authored-by: R00-B0T <[email protected]> Co-authored-by: xyOz <[email protected]> Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: vagadiya <[email protected]> Co-authored-by: pugazhendhi-m <[email protected]> Co-authored-by: Pugazhendhi <[email protected]> Co-authored-by: zeo <[email protected]> Co-authored-by: Remon Oldenbeuving <[email protected]> Co-authored-by: avtc <[email protected]> Co-authored-by: Shariq Riaz <[email protected]> Co-authored-by: sam hoang <[email protected]> Co-authored-by: Noritaka Kobayashi <[email protected]> Co-authored-by: R-omk <[email protected]> Co-authored-by: Chris Hasson <[email protected]> Co-authored-by: ChuKhaLi <[email protected]> Co-authored-by: mini2s <[email protected]> * Feat merge roocode v4 (#1) (#156) * Rename cline_docs -> docs (#3587) * Update contributors list (#3299) * fix(deps): update dependency posthog-js to v1.242.1 (#3602) * Use a shadcn dialog for the announcement (#3604) * feat: add buildDocLink utility and 21 Internal Links to Docs (#3418) * Add build vsix Workflow (#3600) * build: enable source maps for improved debugging (#3596) * v3.16.7 (#3614) * [Condense] Condense messages with an LLM rather than truncating (#3582) * Fix type generation (#3619) * Update contributors list (#3612) * v3.17.0 (#3622) * Changeset version bump (#3556) * fix: correct Changelog link in localized README files (#3629) The Changelog link in `locales/ja/README.md` and other localized READMEswas pointing to a broken relative path, resulting in 404s.This commit updates the link to use a correct relative path (`../../CHANGELOG.md`)so that it works across all locales. * Fix incorrect reserved tokens calculation on OpenRouter (#3626) fix: improve token reservation logic in calculateTokenDistribution * Fix command display in the approval required case (#3636) * Changeset version bump (#3637) * Fix how custom instructions are loaded into the API request (#3638)p * Lock the versions of vsce and ovsx (#3643) * Revert "Switch to the new Roo message parser" (#3649) * Changeset version bump (#3645) * Import settings bug fix / improvements (#3657) * Export ProviderName type to Roo-Code-Types (#3675) * Log Cleanup to Remove Cline (#3704) * Rename Errors & Fix Spelling Mistake * Update src/core/task/Task.ts --------- * #3679 - Fixes packaging to include correct tiktoken.wasm (lite) (#3697) - also, additions to .gitignore and .vscodeignore to prevent the IntelliJ .idea and .qodo folders from being included for git and packaging. * Adds refresh models button for Unbound provider (#3663) * Adds refresh models button for Unbound provider * Adds changeset * Optimizes code to prevent memory leak, add error messages * Adds unbound messages to all supported languages --------- * Add Qwen3 model series to the Chutes provider (#3710) * Add Qwen3 model series to the Chutes provider New models for the Chutes provider: - Qwen/Qwen3-235B-A22B - Qwen/Qwen3-32B - Qwen/Qwen3-30B-A3B - Qwen/Qwen3-14B - Qwen/Qwen3-8B * add changeset * fix(webview): Fix links to filename:0 (#3727) * fix(webview): Fix links to filename:0 * Add changeset * LM studio reasoning support (thinking block) (#3719) lmstudio reasoning support (thinking block) Similar to ollama implementation in #1080 * feat(evals): add UI and backend support for importing and injecting f… (#3606) * [Condense Context] Track metrics around context condensing and show in UI * Add UI component * account for system prompt when estimating new context size * add header * bug fix * nit * nit * refactor * fix * add unit tests for condense * update sliding-window tests * add getApiMetrics.test.ts * fix failing tests * use chat.json * add translations * add tests for ContextCondenseRow * add changeset * camelCase * use Markdown for summary * use tailwind * non default export * rm test :/ * Make prompt input textareas resizable (#3691) (#3739) * feat: move play audio to webview to ensure cross-platform (#3659) * refactor: import multiple times (#3745) * Add YAML support for .roomode files alongside JSON processing (#3711) * ✨ feat(settings): Add allowedMaxRequests feature inspired by Cline (#3631) * feat(settings): Introduce the "auto-approve request count" feature from Cline This is the first minor UI feature I've added, so please let me know if I'm missing anything! (translations, organization, etc!) Please see commits for details introduce allowedMaxRequests to globalSettingsSchema update ExtensionState and its context with allowedMaxRequests implement UI for setting max requests in AutoApproveMenu component prompt user when auto-approval limit is reached with i18n support increment consecutiveAutoApprovedRequestsCount and reset upon user approval add translations for auto-approved request limit reached prompt in multiple languages add new UI for "auto_approval_max_req_reached" in ChatRowContent display prompt with title, description, and button for user action 🔧 chore(gitignore): add .idea to .gitignore to exclude IDE-specific files - remove .idea/workspace.xml to clean up repository * 🔧 chore(gitignore): add IDE configuration files to ignore list - add .idea directory to ignore JetBrains IDE configurations * 🌐 i18n(chat): add translation keys for api request limit - introduce translation keys for "title" and "unlimited" in multiple languages - update description for api request limit in various languages * 🌐 i18n(chat): migrate auto-approved request limit translations - move translations from common.json to chat.json across locales - update component to use Trans for dynamic text rendering * Update the UI for setting max requests * Hide the auto-approve limit warning once clicked --------- * Move error message for settings import failure into the correct position (#3752) * feat: use template variables for version numbers in announcement strings (#3755) * Auto-reload core changes in dev mode (#3284) * Moved repo to new org (#3756) * Use yaml as default custom modes format (#3749) * [Condense] Add a button to condense the task context (#3623) * [Condense] Add a button to condense the task context * wip * wip * wip * bring back delete size * account for the system prompt in the context * update tests to use systemPrompt * add type * translations * nit * update tests * filter to the current task * nit * refactor * nit * non interactive option * simplify chat summary UI * changeset * nit * fix check-types * throw * [Condense] Fix double counting last message when condensing (#3763) * Get package publisher and name from package.json + command type safety (#3766) * Lm studio and ollama usage fix (#3707) * integration * Fix * [Condense] Change condense icon (#3768) * [Condense] Change condense icon * change to fold * feat: add gemini-2.5-flash-preview-05-20 models (#3769) * Add Gemini Flash 2.5 05-20 variants for the Vertex provider (#3758) * feat(api): add gemini-2.5-flash-preview-05-20 model configuration * feat(tests): update apiModelId to gemini-2.5-flash-preview-05-20 in ProviderSettingsManager tests in case the old version is deprecated * chore: add changeset * feat(api): update vertexModels to add gemini-2.5-flash-preview-05-20 variants * chore: update changeset * [Condense] Show indicator message when context is condensing (#3765) * [Condense] Show indicator message when context is condensing * changeset * translations * Another grey screen fix. (#3644) Memory memory memory * Fix: Missing or inconsistent syntax highlighting across UI components (#3656) * fix: Missing or inconsistent syntax highlighting across UI components - Change file listings to use 'shellsession' for terminal-like highlighting - Use 'markdown' for code definitions and instructions - Add file extension-based language detection for new files - Ensure consistent 'diff' highlighting for all diff content - Use 'xml' language for error messages - Make language property required in CodeAccordian - Set default fallback to 'txt' instead of undefined Fixes: #3655 * chore: make language property required in CodeBlock - Updated CodeBlockProps interface to make language property required - Updated mock implementation to match the interface change - Ensured CodeAccordian always provides a fallback language value --------- * Add contact section to pull request template for communication (#3771) * Update contributors list (#3620) * More VSCode command / build fixes (#3780) * Merge remote-tracking branch 'upstream/main' into feat-merge-roocode-v4 --------- Signed-off-by: Eric Wheeler <[email protected]> Co-authored-by: Matt Rubens <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Chris Estreich <[email protected]> Co-authored-by: Hannes Rudolph <[email protected]> Co-authored-by: மனோஜ்குமார் பழனிச்சாமி <[email protected]> Co-authored-by: KJ7LNW <[email protected]> Co-authored-by: Eric Wheeler <[email protected]> Co-authored-by: Canyon Robins <[email protected]> Co-authored-by: R00-B0T <[email protected]> Co-authored-by: hatsu <[email protected]> Co-authored-by: Daniel <[email protected]> Co-authored-by: R00-B0T <[email protected]> Co-authored-by: xyOz <[email protected]> Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: vagadiya <[email protected]> Co-authored-by: pugazhendhi-m <[email protected]> Co-authored-by: Pugazhendhi <[email protected]> Co-authored-by: zeo <[email protected]> Co-authored-by: Remon Oldenbeuving <[email protected]> Co-authored-by: avtc <[email protected]> Co-authored-by: Shariq Riaz <[email protected]> Co-authored-by: sam hoang <[email protected]> Co-authored-by: Noritaka Kobayashi <[email protected]> Co-authored-by: R-omk <[email protected]> Co-authored-by: Chris Hasson <[email protected]> Co-authored-by: ChuKhaLi <[email protected]> Co-authored-by: mini2s <[email protected]> * test: Update part of code-aq's test cases to ensure they can pass This commit comments out parts of the test cases that are currently failing, ensuring the rest of the tests can run successfully. These commented-out test cases are planned to be fixed and re-enabled in future iterations. * ci: Adjust the GitHub Actions trigger rules for code-aq project and comment out some jobs This commit modifies the workflow trigger conditions of GitHub Actions in the code-aq project, and comments out parts of the jobs that are currently failing to optimize the continuous integration process. * feat: merge roocode (#160) * Rename cline_docs -> docs (#3587) * Update contributors list (#3299) Co-authored-by: mrubens <[email protected]> * fix(deps): update dependency posthog-js to v1.242.1 (#3602) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Use a shadcn dialog for the announcement (#3604) * feat: add buildDocLink utility and 21 Internal Links to Docs (#3418) Co-authored-by: Matt Rubens <[email protected]> * Add build vsix Workflow (#3600) * build: enable source maps for improved debugging (#3596) Co-authored-by: Eric Wheeler <[email protected]> * v3.16.7 (#3614) * [Condense] Condense messages with an LLM rather than truncating (#3582) Co-authored-by: Matt Rubens <[email protected]> * Fix type generation (#3619) * Update contributors list (#3612) Co-authored-by: mrubens <[email protected]> * v3.17.0 (#3622) * Changeset version bump (#3556) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <[email protected]> * fix: correct Changelog link in localized README files (#3629) The Changelog link in `locales/ja/README.md` and other localized READMEswas pointing to a broken relative path, resulting in 404s.This commit updates the link to use a correct relative path (`../../CHANGELOG.md`)so that it works across all locales. * Fix incorrect reserved tokens calculation on OpenRouter (#3626) fix: improve token reservation logic in calculateTokenDistribution * Fix command display in the approval required case (#3636) * Changeset version bump (#3637) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: R00-B0T <[email protected]> Co-authored-by: Chris Estreich <[email protected]> * Fix how custom instructions are loaded into the API request (#3638)p * Lock the versions of vsce and ovsx (#3643) * Revert "Switch to the new Roo message parser" (#3649) * Changeset version bump (#3645) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Chris Estreich <[email protected]> * Import settings bug fix / improvements (#3657) * Export ProviderName type to Roo-Code-Types (#3675) * Log Cleanup to Remove Cline (#3704) * Rename Errors & Fix Spelling Mistake * Update src/core/task/Task.ts Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> --------- Co-authored-by: Matt Rubens <[email protected]> Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * #3679 - Fixes packaging to include correct tiktoken.wasm (lite) (#3697) - also, additions to .gitignore and .vscodeignore to prevent the IntelliJ .idea and .qodo folders from being included for git and packaging. * Adds refresh models button for Unbound provider (#3663) * Adds refresh models button for Unbound provider * Adds changeset * Optimizes code to prevent memory leak, add error messages * Adds unbound messages to all supported languages --------- Co-authored-by: Pugazhendhi <[email protected]> * Add Qwen3 model series to the Chutes provider (#3710) * Add Qwen3 model series to the Chutes provider New models for the Chutes provider: - Qwen/Qwen3-235B-A22B - Qwen/Qwen3-32B - Qwen/Qwen3-30B-A3B - Qwen/Qwen3-14B - Qwen/Qwen3-8B * add changeset * fix(webview): Fix links to filename:0 (#3727) * fix(webview): Fix links to filename:0 * Add changeset * LM studio reasoning support (thinking block) (#3719) lmstudio reasoning support (thinking block) Similar to ollama implementation in #1080 * feat(evals): add UI and backend support for importing and injecting f… (#3606) * [Condense Context] Track metrics around context condensing and show in UI * Add UI component * account for system prompt when estimating new context size * add header * bug fix * nit * nit * refactor * fix * add unit tests for condense * update sliding-window tests * add getApiMetrics.test.ts * fix failing tests * use chat.json * add translations * add tests for ContextCondenseRow * add changeset * camelCase * use Markdown for summary * use tailwind * non default export * rm test :/ * Make prompt input textareas resizable (#3691) (#3739) * feat: move play audio to webview to ensure cross-platform (#3659) Co-authored-by: sam hoang <[email protected]> * refactor: import multiple times (#3745) * Add YAML support for .roomode files alongside JSON processing (#3711) * ✨ feat(settings): Add allowedMaxRequests feature inspired by Cline (#3631) * feat(settings): Introduce the "auto-approve request count" feature from Cline This is the first minor UI feature I've added, so please let me know if I'm missing anything! (translations, organization, etc!) Please see commits for details introduce allowedMaxRequests to globalSettingsSchema update ExtensionState and its context with allowedMaxRequests implement UI for setting max requests in AutoApproveMenu component prompt user when auto-approval limit is reached with i18n support increment consecutiveAutoApprovedRequestsCount and reset upon user approval add translations for auto-approved request limit reached prompt in multiple languages add new UI for "auto_approval_max_req_reached" in ChatRowContent display prompt with title, description, and button for user action 🔧 chore(gitignore): add .idea to .gitignore to exclude IDE-specific files - remove .idea/workspace.xml to clean up repository * 🔧 chore(gitignore): add IDE configuration files to ignore list - add .idea directory to ignore JetBrains IDE configurations * 🌐 i18n(chat): add translation keys for api request limit - introduce translation keys for "title" and "unlimited" in multiple languages - update description for api request limit in various languages * 🌐 i18n(chat): migrate auto-approved request limit translations - move translations from common.json to chat.json across locales - update component to use Trans for dynamic text rendering * Update the UI for setting max requests * Hide the auto-approve limit warning once clicked --------- Co-authored-by: Matt Rubens <[email protected]> * Move error message for settings import failure into the correct position (#3752) Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: Chris Estreich <[email protected]> * feat: use template variables for version numbers in announcement strings (#3755) * Auto-reload core changes in dev mode (#3284) Co-authored-by: Matt Rubens <[email protected]> * Moved repo to new org (#3756) * Use yaml as default custom modes format (#3749) * [Condense] Add a button to condense the task context (#3623) * [Condense] Add a button to condense the task context * wip * wip * wip * bring back delete size * account for the system prompt in the context * update tests to use systemPrompt * add type * translations * nit * update tests * filter to the current task * nit * refactor * nit * non interactive option * simplify chat summary UI * changeset * nit * fix check-types * throw * [Condense] Fix double counting last message when condensing (#3763) * Get package publisher and name from package.json + command type safety (#3766) * Lm studio and ollama usage fix (#3707) * integration * Fix * [Condense] Change condense icon (#3768) * [Condense] Change condense icon * change to fold * feat: add gemini-2.5-flash-preview-05-20 models (#3769) * Add Gemini Flash 2.5 05-20 variants for the Vertex provider (#3758) * feat(api): add gemini-2.5-flash-preview-05-20 model configuration * feat(tests): update apiModelId to gemini-2.5-flash-preview-05-20 in ProviderSettingsManager tests in case the old version is deprecated * chore: add changeset * feat(api): update vertexModels to add gemini-2.5-flash-preview-05-20 variants * chore: update changeset * [Condense] Show indicator message when context is condensing (#3765) * [Condense] Show indicator message when context is condensing * changeset * translations * Another grey screen fix. (#3644) Memory memory memory * Fix: Missing or inconsistent syntax highlighting across UI components (#3656) * fix: Missing or inconsistent syntax highlighting across UI components - Change file listings to use 'shellsession' for terminal-like highlighting - Use 'markdown' for code definitions and instructions - Add file extension-based language detection for new files - Ensure consistent 'diff' highlighting for all diff content - Use 'xml' language for error messages - Make language property required in CodeAccordian - Set default fallback to 'txt' instead of undefined Fixes: #3655 Signed-off-by: Eric Wheeler <[email protected]> * chore: make language property required in CodeBlock - Updated CodeBlockProps interface to make language property required - Updated mock implementation to match the interface change - Ensured CodeAccordian always provides a fallback language value Signed-off-by: Eric Wheeler <[email protected]> --------- Signed-off-by: Eric Wheeler <[email protected]> Co-authored-by: Eric Wheeler <[email protected]> * Add contact section to pull request template for communication (#3771) * Update contributors list (#3620) Co-authored-by: mrubens <[email protected]> * More VSCode command / build fixes (#3780) * fix: fix diffview scoll display (#3783) * refactor: simplify loop syntax in combineApiRequests and XmlMatcher (#3776) * Feat merge roocode v4 (#1) * Rename cline_docs -> docs (#3587) * Update contributors list (#3299) Co-authored-by: mrubens <[email protected]> * fix(deps): update dependency posthog-js to v1.242.1 (#3602) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Use a shadcn dialog for the announcement (#3604) * feat: add buildDocLink utility and 21 Internal Links to Docs (#3418) Co-authored-by…
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:
^0.24.0->^0.25.0Release Notes
evanw/esbuild (esbuild)
v0.25.4Compare Source
Add simple support for CORS to esbuild's development server (#4125)
Starting with version 0.25.0, esbuild's development server is no longer configured to serve cross-origin requests. This was a deliberate change to prevent any website you visit from accessing your running esbuild development server. However, this change prevented (by design) certain use cases such as "debugging in production" by having your production website load code from
localhostwhere the esbuild development server is running.To enable this use case, esbuild is adding a feature to allow Cross-Origin Resource Sharing (a.k.a. CORS) for simple requests. Specifically, passing your origin to the new
corsoption will now set theAccess-Control-Allow-Originresponse header when the request has a matchingOriginheader. Note that this currently only works for requests that don't send a preflightOPTIONSrequest, as esbuild's development server doesn't currently supportOPTIONSrequests.Some examples:
CLI:
JS:
Go:
The special origin
*can be used to allow any origin to access esbuild's development server. Note that this means any website you visit will be able to read everything served by esbuild.Pass through invalid URLs in source maps unmodified (#4169)
This fixes a regression in version 0.25.0 where
sourcesin source maps that form invalid URLs were not being passed through to the output. Version 0.25.0 changed the interpretation ofsourcesfrom file paths to URLs, which means that URL parsing can now fail. Previously URLs that couldn't be parsed were replaced with the empty string. With this release, invalid URLs insourcesshould now be passed through unmodified.Handle exports named
__proto__in ES modules (#4162, #4163)In JavaScript, the special property name
__proto__sets the prototype when used inside an object literal. Previously esbuild's ESM-to-CommonJS conversion didn't special-case the property name of exports named__proto__so the exported getter accidentally became the prototype of the object literal. It's unclear what this affects, if anything, but it's better practice to avoid this by using a computed property name in this case.This fix was contributed by @magic-akari.
v0.25.3Compare Source
Fix lowered
asyncarrow functions beforesuper()(#4141, #4142)This change makes it possible to call an
asyncarrow function in a constructor before callingsuper()when targeting environments withoutasyncsupport, as long as the function body doesn't referencethis. Here's an example (notice the change fromthistonull):Some background: Arrow functions with the
asynckeyword are transformed into generator functions for older language targets such as--target=es2016. Since arrow functions capturethis, the generated code forwardsthisinto the body of the generator function. However, JavaScript class syntax forbids usingthisin a constructor before callingsuper(), and this forwarding was problematic since previously happened even when the function body doesn't usethis. Starting with this release, esbuild will now only forwardthisif it's used within the function body.This fix was contributed by @magic-akari.
Fix memory leak with
--watch=true(#4131, #4132)This release fixes a memory leak with esbuild when
--watch=trueis used instead of--watch. Previously using--watch=truecaused esbuild to continue to use more and more memory for every rebuild, but--watch=trueshould now behave like--watchand not leak memory.This bug happened because esbuild disables the garbage collector when it's not run as a long-lived process for extra speed, but esbuild's checks for which arguments cause esbuild to be a long-lived process weren't updated for the new
--watch=truestyle of boolean command-line flags. This has been an issue since this boolean flag syntax was added in version 0.14.24 in 2022. These checks are unfortunately separate from the regular argument parser because of how esbuild's internals are organized (the command-line interface is exposed as a separate Go API so you can build your own custom esbuild CLI).This fix was contributed by @mxschmitt.
More concise output for repeated legal comments (#4139)
Some libraries have many files and also use the same legal comment text in all files. Previously esbuild would copy each legal comment to the output file. Starting with this release, legal comments duplicated across separate files will now be grouped in the output file by unique comment content.
Allow a custom host with the development server (#4110)
With this release, you can now use a custom non-IP
hostwith esbuild's local development server (either with--serve=for the CLI or with theserve()call for the API). This was previously possible, but was intentionally broken in version 0.25.0 to fix a security issue. This change adds the functionality back except that it's now opt-in and only for a single domain name that you provide.For example, if you add a mapping in your
/etc/hostsfile fromlocal.example.comto127.0.0.1and then useesbuild --serve=local.example.com:8000, you will now be able to visit http://local.example.com:8000/ in your browser and successfully connect to esbuild's development server (doing that would previously have been blocked by the browser). This should also work with HTTPS if it's enabled (see esbuild's documentation for how to do that).Add a limit to CSS nesting expansion (#4114)
With this release, esbuild will now fail with an error if there is too much CSS nesting expansion. This can happen when nested CSS is converted to CSS without nesting for older browsers as expanding CSS nesting is inherently exponential due to the resulting combinatorial explosion. The expansion limit is currently hard-coded and cannot be changed, but is extremely unlikely to trigger for real code. It exists to prevent esbuild from using too much time and/or memory. Here's an example:
Previously, transforming this file with
--target=safari1took 5 seconds and generated 40mb of CSS. Trying to do that will now generate the following error instead:Fix path resolution edge case (#4144)
This fixes an edge case where esbuild's path resolution algorithm could deviate from node's path resolution algorithm. It involves a confusing situation where a directory shares the same file name as a file (but without the file extension). See the linked issue for specific details. This appears to be a case where esbuild is correctly following node's published resolution algorithm but where node itself is doing something different. Specifically the step
LOAD_AS_FILEappears to be skipped when the input ends with... This release changes esbuild's behavior for this edge case to match node's behavior.Update Go from 1.23.7 to 1.23.8 (#4133, #4134)
This should have no effect on existing code as this version change does not change Go's operating system support. It may remove certain reports from vulnerability scanners that detect which version of the Go compiler esbuild uses, such as for CVE-2025-22871.
As a reminder, esbuild's development server is intended for development, not for production, so I do not consider most networking-related vulnerabilities in Go to be vulnerabilities in esbuild. Please do not use esbuild's development server in production.
v0.25.2Compare Source
Support flags in regular expressions for the API (#4121)
The JavaScript plugin API for esbuild takes JavaScript regular expression objects for the
filteroption. Internally these are translated into Go regular expressions. However, this translation previously ignored theflagsproperty of the regular expression. With this release, esbuild will now translate JavaScript regular expression flags into Go regular expression flags. Specifically the JavaScript regular expression/\.[jt]sx?$/iis turned into the Go regular expression`(?i)\.[jt]sx?$`internally inside of esbuild's API. This should make it possible to use JavaScript regular expressions with theiflag. Note that JavaScript and Go don't support all of the same regular expression features, so this mapping is only approximate.Fix node-specific annotations for string literal export names (#4100)
When node instantiates a CommonJS module, it scans the AST to look for names to expose via ESM named exports. This is a heuristic that looks for certain patterns such as
exports.NAME = ...ormodule.exports = { ... }. This behavior is used by esbuild to "annotate" CommonJS code that was converted from ESM with the original ESM export names. For example, when converting the fileexport let foo, barfrom ESM to CommonJS, esbuild appends this to the end of the file:However, this feature previously didn't work correctly for export names that are not valid identifiers, which can be constructed using string literal export names. The generated code contained a syntax error. That problem is fixed in this release:
Basic support for index source maps (#3439, #4109)
The source map specification has an optional mode called index source maps that makes it easier for tools to create an aggregate JavaScript file by concatenating many smaller JavaScript files with source maps, and then generate an aggregate source map by simply providing the original source maps along with some offset information. My understanding is that this is rarely used in practice. I'm only aware of two uses of it in the wild: ClojureScript and Turbopack.
This release provides basic support for indexed source maps. However, the implementation has not been tested on a real app (just on very simple test input). If you are using index source maps in a real app, please try this out and report back if anything isn't working for you.
Note that this is also not a complete implementation. For example, index source maps technically allows nesting source maps to an arbitrary depth, while esbuild's implementation in this release only supports a single level of nesting. It's unclear whether supporting more than one level of nesting is important or not given the lack of available test cases.
This feature was contributed by @clyfish.
v0.25.1Compare Source
Fix incorrect paths in inline source maps (#4070, #4075, #4105)
This fixes a regression from version 0.25.0 where esbuild didn't correctly resolve relative paths contained within source maps in inline
sourceMappingURLdata URLs. The paths were incorrectly being passed through as-is instead of being resolved relative to the source file containing thesourceMappingURLcomment, which was due to the data URL not being a file URL. This regression has been fixed, and this case now has test coverage.Fix invalid generated source maps (#4080, #4082, #4104, #4107)
This release fixes a regression from version 0.24.1 that could cause esbuild to generate invalid source maps. Specifically under certain conditions, esbuild could generate a mapping with an out-of-bounds source index. It was introduced by code that attempted to improve esbuild's handling of "null" entries in source maps (i.e. mappings with a generated position but no original position). This regression has been fixed.
This fix was contributed by @jridgewell.
Fix a regression with non-file source map paths (#4078)
The format of paths in source maps that aren't in the
filenamespace was unintentionally changed in version 0.25.0. Path namespaces is an esbuild-specific concept that is optionally available for plugins to use to distinguish paths fromfilepaths and from paths meant for other plugins. Previously the namespace was prepended to the path joined with a:character, but version 0.25.0 unintentionally failed to prepend the namespace. The previous behavior has been restored.Fix a crash with
switchoptimization (#4088)The new code in the previous release to optimize dead code in switch statements accidentally introduced a crash in the edge case where one or more switch case values include a function expression. This is because esbuild now visits the case values first to determine whether any cases are dead code, and then visits the case bodies once the dead code status is known. That triggered some internal asserts that guard against traversing the AST in an unexpected order. This crash has been fixed by changing esbuild to expect the new traversal ordering. Here's an example of affected code:
Update Go from 1.23.5 to 1.23.7 (#4076, #4077)
This should have no effect on existing code as this version change does not change Go's operating system support. It may remove certain reports from vulnerability scanners that detect which version of the Go compiler esbuild uses.
This PR was contributed by @MikeWillCook.
v0.25.0This release deliberately contains backwards-incompatible changes. To avoid automatically picking up releases like this, you should either be pinning the exact version of
esbuildin yourpackage.jsonfile (recommended) or be using a version range syntax that only accepts patch upgrades such as^0.24.0or~0.24.0. See npm's documentation about semver for more information.Restrict access to esbuild's development server (GHSA-67mh-4wv8-2f99)
This change addresses esbuild's first security vulnerability report. Previously esbuild set the
Access-Control-Allow-Originheader to*to allow esbuild's development server to be flexible in how it's used for development. However, this allows the websites you visit to make HTTP requests to esbuild's local development server, which gives read-only access to your source code if the website were to fetch your source code's specific URL. You can read more information in the report.Starting with this release, CORS will now be disabled, and requests will now be denied if the host does not match the one provided to
--serve=. The default host is0.0.0.0, which refers to all of the IP addresses that represent the local machine (e.g. both127.0.0.1and192.168.0.1). If you want to customize anything about esbuild's development server, you can put a proxy in front of esbuild and modify the incoming and/or outgoing requests.In addition, the
serve()API call has been changed to return an array ofhostsinstead of a singlehoststring. This makes it possible to determine all of the hosts that esbuild's development server will accept.Thanks to @sapphi-red for reporting this issue.
Delete output files when a build fails in watch mode (#3643)
It has been requested for esbuild to delete files when a build fails in watch mode. Previously esbuild left the old files in place, which could cause people to not immediately realize that the most recent build failed. With this release, esbuild will now delete all output files if a rebuild fails. Fixing the build error and triggering another rebuild will restore all output files again.
Fix correctness issues with the CSS nesting transform (#3620, #3877, #3933, #3997, #4005, #4037, #4038)
This release fixes the following problems:
Naive expansion of CSS nesting can result in an exponential blow-up of generated CSS if each nesting level has multiple selectors. Previously esbuild sometimes collapsed individual nesting levels using
:is()to limit expansion. However, this collapsing wasn't correct in some cases, so it has been removed to fix correctness issues.Thanks to @tim-we for working on a fix.
The
&CSS nesting selector can be repeated multiple times to increase CSS specificity. Previously esbuild ignored this possibility and incorrectly considered&&to have the same specificity as&. With this release, this should now work correctly:Thanks to @CPunisher for working on a fix.
Previously transforming nested CSS incorrectly removed leading combinators from within pseudoclass selectors such as
:where(). This edge case has been fixed and how has test coverage.This fix was contributed by @NoremacNergfol.
The CSS minifier contains logic to remove the
&selector when it can be implied, which happens when there is only one and it's the leading token. However, this logic was incorrectly also applied to selector lists inside of pseudo-class selectors such as:where(). With this release, the minifier will now avoid applying this logic in this edge case:Fix some correctness issues with source maps (#1745, #3183, #3613, #3982)
Previously esbuild incorrectly treated source map path references as file paths instead of as URLs. With this release, esbuild will now treat source map path references as URLs. This fixes the following problems with source maps:
File names in
sourceMappingURLthat contained a space previously did not encode the space as%20, which resulted in JavaScript tools (including esbuild) failing to read that path back in when consuming the generated output file. This should now be fixed.Absolute URLs in
sourceMappingURLthat use thefile://scheme previously attempted to read from a folder calledfile:. These URLs should now be recognized and parsed correctly.Entries in the
sourcesarray in the source map are now treated as URLs instead of file paths. The correct behavior for this is much more clear now that source maps has a formal specification. Many thanks to those who worked on the specification.Fix incorrect package for
@esbuild/netbsd-arm64(#4018)Due to a copy+paste typo, the binary published to
@esbuild/netbsd-arm64was not actually forarm64, and didn't run in that environment. This release should fix running esbuild in that environment (NetBSD on 64-bit ARM). Sorry about the mistake.Fix a minification bug with bitwise operators and bigints (#4065)
This change removes an incorrect assumption in esbuild that all bitwise operators result in a numeric integer. That assumption was correct up until the introduction of bigints in ES2020, but is no longer correct because almost all bitwise operators now operate on both numbers and bigints. Here's an example of the incorrect minification:
Fix esbuild incorrectly rejecting valid TypeScript edge case (#4027)
The following TypeScript code is valid:
Before this version, esbuild would fail to parse this with a syntax error as it expected the token sequence
async as ...to be the start of an async arrow function expressionasync as => .... This edge case should be parsed correctly by esbuild starting with this release.Transform BigInt values into constructor calls when unsupported (#4049)
Previously esbuild would refuse to compile the BigInt literals (such as
123n) if they are unsupported in the configured target environment (such as with--target=es6). The rationale was that they cannot be polyfilled effectively because they change the behavior of JavaScript's arithmetic operators and JavaScript doesn't have operator overloading.However, this prevents using esbuild with certain libraries that would otherwise work if BigInt literals were ignored, such as with old versions of the
bufferlibrary before the library fixed support for running in environments without BigInt support. So with this release, esbuild will now turn BigInt literals into BigInt constructor calls (so123nbecomesBigInt(123)) and generate a warning in this case. You can turn off the warning with--log-override:bigint=silentor restore the warning to an error with--log-override:bigint=errorif needed.Change how
consoleAPI dropping works (#4020)Previously the
--drop:consolefeature replaced all method calls off of theconsoleglobal withundefinedregardless of how long the property access chain was (so it applied toconsole.log()andconsole.log.call(console)andconsole.log.not.a.method()). However, it was pointed out that this breaks uses ofconsole.log.bind(console). That's also incompatible with Terser's implementation of the feature, which is where this feature originally came from (it does supportbind). So with this release, using this feature with esbuild will now only replace one level of method call (unless extended bycallorapply) and will replace the method being called with an empty function in complex cases:This should more closely match Terser's existing behavior.
Allow BigInt literals as
definevaluesWith this release, you can now use BigInt literals as define values, such as with
--define:FOO=123n. Previously trying to do this resulted in a syntax error.Fix a bug with resolve extensions in
node_modules(#4053)The
--resolve-extensions=option lets you specify the order in which to try resolving implicit file extensions. For complicated reasons, esbuild reorders TypeScript file extensions after JavaScript ones inside ofnode_modulesso that JavaScript source code is always preferred to TypeScript source code inside of dependencies. However, this reordering had a bug that could accidentally change the relative order of TypeScript file extensions if one of them was a prefix of the other. That bug has been fixed in this release. You can see the issue for details.Better minification of statically-determined
switchcases (#4028)With this release, esbuild will now try to trim unused code within
switchstatements when the test expression andcaseexpressions are primitive literals. This can arise when the test expression is an identifier that is substituted for a primitive literal at compile time. For example:Emit
/* @​__KEY__ */for string literals derived from property names (#4034)Property name mangling is an advanced feature that shortens certain property names for better minification (I say "advanced feature" because it's very easy to break your code with it). Sometimes you need to store a property name in a string, such as
obj.get('foo')instead ofobj.foo. JavaScript minifiers such as esbuild and Terser have a convention where a/* @​__KEY__ */comment before the string makes it behave like a property name. Soobj.get(/* @​__KEY__ */ 'foo')allows the contents of the string'foo'to be shortened.However, esbuild sometimes itself generates string literals containing property names when transforming code, such as when lowering class fields to ES6 or when transforming TypeScript decorators. Previously esbuild didn't generate its own
/* @​__KEY__ */comments in this case, which means that minifying your code by running esbuild again on its own output wouldn't work correctly (this does not affect people that both minify and transform their code in a single step).With this release, esbuild will now generate
/* @​__KEY__ */comments for property names in generated string literals. To avoid lots of unnecessary output for people that don't use this advanced feature, the generated comments will only be present when the feature is active. If you want to generate the comments but not actually mangle any property names, you can use a flag that has no effect such as--reserve-props=., which tells esbuild to not mangle any property names (but still activates this feature).The
textloader now strips the UTF-8 BOM if present (#3935)Some software (such as Notepad on Windows) can create text files that start with the three bytes
0xEF 0xBB 0xBF, which is referred to as the "byte order mark". This prefix is intended to be removed before using the text. Previously esbuild'stextloader included this byte sequence in the string, which turns into a prefix of\uFEFFin a JavaScript string when decoded from UTF-8. With this release, esbuild'stextloader will now remove these bytes when they occur at the start of the file.Omit legal comment output files when empty (#3670)
Previously configuring esbuild with
--legal-comment=externalor--legal-comment=linkedwould always generate a.LEGAL.txtoutput file even if it was empty. Starting with this release, esbuild will now only do this if the file will be non-empty. This should result in a more organized output directory in some cases.Update Go from 1.23.1 to 1.23.5 (#4056, #4057)
This should have no effect on existing code as this version change does not change Go's operating system support. It may remove certain reports from vulnerability scanners that detect which version of the Go compiler esbuild uses.
This PR was contributed by @MikeWillCook.
Allow passing a port of 0 to the development server (#3692)
Unix sockets interpret a port of 0 to mean "pick a random unused port in the ephemeral port range". However, esbuild's default behavior when the port is not specified is to pick the first unused port starting from 8000 and upward. This is more convenient because port 8000 is typically free, so you can for example restart the development server and reload your app in the browser without needing to change the port in the URL. Since esbuild is written in Go (which does not have optional fields like JavaScript), not specifying the port in Go means it defaults to 0, so previously passing a port of 0 to esbuild caused port 8000 to be picked.
Starting with this release, passing a port of 0 to esbuild when using the CLI or the JS API will now pass port 0 to the OS, which will pick a random ephemeral port. To make this possible, the
Portoption in the Go API has been changed fromuint16toint(to allow for additional sentinel values) and passing a port of -1 in Go now picks a random port. Both the CLI and JS APIs now remap an explicitly-provided port of 0 into -1 for the internal Go API.Another option would have been to change
Portin Go fromuint16to*uint16(Go's closest equivalent ofnumber | undefined). However, that would make the common case of providing an explicit port in Go very awkward as Go doesn't support taking the address of integer constants. This tradeoff isn't worth it as picking a random ephemeral port is a rare use case. So the CLI and JS APIs should now match standard Unix behavior when the port is 0, but you need to use -1 instead with Go API.Minification now avoids inlining constants with direct
eval(#4055)Direct
evalcan be used to introduce a new variable like this:Previously esbuild inlined
variablehere (which becamefalse), which changed the behavior of the code. This inlining is now avoided, but please keep in mind that directevalbreaks many assumptions that JavaScript tools hold about normal code (especially when bundling) and I do not recommend using it. There are usually better alternatives that have a more localized impact on your code. You can read more about this here: https://esbuild.github.io/link/direct-eval/Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.