# Roo Code 3.14.0 Release Notes (2025-04-23) This release introduces Gemini prompt caching, improves several tools, and includes numerous bug fixes and enhancements across the extension. ## Apply Diff and Other Major File Edit Improvements * Improve [`apply_diff`](/advanced-usage/available-tools/apply-diff) to work better with **Google Gemini 2.5** and other models * Automatically close files opened by edit tools (`apply_diff`, `insert_content`, `search_and_replace`, `write_to_file`) after changes are approved. This prevents cluttering the editor with files opened by Roo and helps clarify context by only showing files intentionally opened by the user. * Added the [`search_and_replace`](/advanced-usage/available-tools/search-and-replace) tool. This tool finds and replaces text within a file using literal strings or regex patterns, optionally within specific line ranges (thanks samhvw8!). * Added the [`insert_content`](/advanced-usage/available-tools/insert-content) tool. This tool adds new lines into a file at a specific location or the end, without modifying existing content (thanks samhvw8!). * Deprecated the `append_to_file` tool in favor of `insert_content` (use `line: 0`). * Correctly revert changes and suggest alternative tools when [`write_to_file`](/advanced-usage/available-tools/write-to-file) fails on a missing line count * Better progress indicator for [`apply_diff`](/advanced-usage/available-tools/apply-diff) tools (thanks qdaxb!) * Ensure user feedback is added to conversation history even during API errors (thanks System233!). * Prevent redundant 'TASK RESUMPTION' prompts from appearing when resuming a task (thanks System233!). * Fix issue where error messages sometimes didn't display after cancelling an API request (thanks System233!). * Preserve editor state and prevent tab unpinning during diffs (thanks seedlord!) ## Context Mentions * Use material icons for files and folders in mentions (thanks elianiva!) * Improvements to icon rendering on Linux (thanks elianiva!) * Better handling of `aftercursor` content in context mentions (thanks elianiva!) Warning indicator for active system prompt override ## Footgun Prompting * **Context Variables:** Added the ability to interpolate context variables (`{{workspace}}`, `{{mode}}`, `{{language}}`, `{{shell}}`, `{{operatingSystem}}`) into custom system prompt override files, allowing for more dynamic prompts (thanks daniel-lxs!). See the [Footgun Prompting documentation](/features/footgun-prompting#using-context-variables) for details. * **Override Warning:** Roo Code now displays a warning indicator in the chat input when a system prompt override is active for the current mode. Warning indicator for active system prompt override ## MCP Tweaks * Support injecting environment variables in MCP config (thanks NamesMT!) * Fix MCP hub error when dragging extension to another sidebar * Improve display of long MCP tool arguments ## Provider Updates * Allow Amazon Bedrock Marketplace ARNs (thanks mlopezr!) * Add prompt caching for `gemini-2.5-pro-preview-03-25` in the Gemini provider (Vertex and OpenRouter coming soon!) * Improvements to Requesty model list fetching (thanks dtrugman!) * Make the VS Code LM provider show the correct model information (thanks QuinsZouls!) * Remove unnecessary calculation from VS Code LM provider (thanks d-oit!) ## Bug Fixes and General QOL Improvements and Misc. * Make the [`list_files`](/advanced-usage/available-tools/list-files) tool more efficient and smarter about excluding directories like `.git/` * Performance improvements to task size calculations * Give better loading feedback on chat rows (thanks elianiva!) * Use a more sensible task export icon * Fix file drag and drop on Windows and when using SSH tunnels (thanks NyxJae!) * Fix interpolation bug in the “add to context” code action (thanks elianiva!) * Fix redundant ‘TASK RESUMPTION’ prompts (thanks System233!) * Fix bug opening files when editor has no workspace root * Don’t immediately show a model ID error when changing API providers * Fixes to make the `focusInput` command more reliable (thanks hongzio!) * Fix terminal carriage return handling for correct progress bar display (thanks Yikai-Liao!) * Track tool use errors in evals * Use path aliases in webview source files * Better handling of FakeAI “controller” object (thanks wkordalski)