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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions .roo/rules-release-notes-writer/1_main_workflow.xml
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ fi
</step>

<step number="1b">
<action>Resolve hero image from discovered candidates, falling back to social-share when none exist</action>
<action>Resolve hero image from discovered candidates (no placeholder if none exist)</action>
Copy link
Contributor

Choose a reason for hiding this comment

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

The step 1b notes say to skip hero image download when no candidates were discovered, but the script always does head -n1 and curl even if the candidates file is empty/missing. In that case the URL becomes .../main/ and can still produce a non-empty output (for example an HTML 404 page), which would incorrectly get treated as a valid hero image. Consider adding an explicit -s/empty check for $CANDIDATES_FILE (and optionally verifying HTTP status/content-type) before downloading and writing the frontmatter path.

Fix it with Roo Code or mention @roomote and request a fix.

<command><![CDATA[
VERSION="X.Y.Z"
CANDIDATES_FILE=".roo/tmp/release-notes/image_candidates_v$VERSION.txt"
Expand All @@ -314,9 +314,9 @@ if [ -s "$OUT" ]; then
fi
]]></command>
<notes>
- Skip hero image download entirely when no candidates were discovered; default to /img/social-share.jpg
- Skip hero image download entirely when no candidates were discovered
- When candidates exist, attempt to download the first one and persist it as /img/v$VERSION/v$VERSION.png
- If download fails or the file is empty, fall back to /img/social-share.jpg
- If download fails or the file is empty, do not set a frontmatter image
- Prefer PNG when multiple candidates are present (candidates list should already be filtered/ordered)
</notes>
</step>
Expand Down Expand Up @@ -521,17 +521,17 @@ Which features should I highlight with expanded sections in the release notes?
<source>.roo/tmp/release-notes/frontmatter_image_v[version].txt</source>
<behavior>
- If the source file exists and starts with "/img/", set frontmatter "image" to that value
- Otherwise set "image" to /img/social-share.jpg
- Otherwise, OMIT the frontmatter "image" field entirely (no placeholder)
</behavior>
</frontmatter_image>
<inline_hero_image>
<source>.roo/tmp/release-notes/frontmatter_image_v[version].txt</source>
<insertion_point>Immediately after the intro summary sentence below the H1 title</insertion_point>
<behavior>
- If the persisted path starts with "/img/" and is not "/img/social-share.jpg", insert an HTML image tag under the intro paragraph
- If the persisted path starts with "/img/", insert an HTML image tag under the intro paragraph
- Use the exact path value from the source file for src
- Follow .roorules Image Tag Format and use width="600"
- If the persisted path is "/img/social-share.jpg", skip inline insertion
- If there is no persisted path file OR it does not start with "/img/", skip inline insertion
</behavior>
<html_snippet><![CDATA[
<img src="[FRONTMATTER_IMAGE_PATH]" alt="Roo Code v[VERSION] Release" width="600" />
Expand Down Expand Up @@ -713,7 +713,8 @@ gh pr list --repo RooCodeInc/Roo-Code --state merged --base main --limit 1000 \
Use the simplified PR extraction command for consistent results
</rule>
<rule priority="HIGH">
Always acknowledge PR author AND issue reporter
Acknowledge PR author AND issue reporter, unless the username is on the release-notes “thank you” exclusion list.
If all candidate acknowledgements are excluded, omit the thanks parenthetical entirely.
</rule>
<rule priority="HIGH">
Focus on user benefits, not technical implementation
Expand Down
36 changes: 13 additions & 23 deletions .roo/rules-release-notes-writer/2_content_standards.xml
Original file line number Diff line number Diff line change
Expand Up @@ -70,16 +70,11 @@ keywords:
<criteria>New functionality changing user experience</criteria>
<format>Own ## heading with expanded description</format>
<template>
## [Feature Name]

We've [improvement description] (thanks [contributors]!) ([#PR](link)):

- **[Benefit 1]**: [How this helps users]
- **[Benefit 2]**: [Another benefit]

[Concluding sentence about impact]

> **📚 Documentation**: See [Feature Guide](/path/to/feature) for detailed usage instructions.
## [Feature Name]
Copy link
Contributor

Choose a reason for hiding this comment

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

In the markdown templates under major_features/expanded_sections, the headings and paragraphs start with a leading space (for example " ##"), and there are lines that are just a single space. If copied verbatim into MDX, this can prevent headings from being recognized and introduces trailing whitespace. Recommend removing the leading/trailing spaces so templates are valid markdown as-is.

Fix it with Roo Code or mention @roomote and request a fix.


We've [improvement description]. [One cohesive paragraph: what changed, where users see it, and why it matters.] (thanks [contributors]!) ([#PR](link))

> **📚 Documentation**: See [Feature Guide](/path/to/feature) for detailed usage instructions.
</template>
</category>

Expand Down Expand Up @@ -113,16 +108,11 @@ We've [improvement description] (thanks [contributors]!) ([#PR](link)):
<expanded_sections>
<description>Major features with details</description>
<format>
## Feature Name

Description of what the feature does (thanks contributor!) ([#PR](link)):

- **Key Point 1**: Explanation of this aspect.
- **Key Point 2**: Another explanation.

Concluding sentence about the benefit.

> **📚 Documentation**: See [Feature Guide](/path/to/feature) for detailed usage.
## Feature Name

Description of what the feature does as a single cohesive paragraph (what changed, where users see it, and why it matters). (thanks contributor!) ([#PR](link))

> **📚 Documentation**: See [Feature Guide](/path/to/feature) for detailed usage.
</format>
</expanded_sections>

Expand All @@ -141,8 +131,8 @@ Concluding sentence about the benefit.
<multiple>(thanks author, reporter!)</multiple>
<rules>
- Omit @ from GitHub usernames
- Place inside parentheses before PR link
- Include both PR author and issue reporter
- Place inside parentheses, and place PR link(s) at the end of the sentence/paragraph
- Include both PR author and issue reporter unless excluded by the release-notes “thank you” exclusion list
- List PR author first
- If PR author equals issue reporter, use a single username once
- Do not thank these names: outlined in the special instructions section `Release Notes "thank you" exclusions`
Expand All @@ -152,7 +142,7 @@ Concluding sentence about the benefit.
<pr_links>
<format>([#PR_NUMBER](https://github.com/RooCodeInc/Roo-Code/pull/PR_NUMBER))</format>
<placement>
<expanded>In intro paragraph or bullet points</expanded>
<expanded>At the end of the expanded-section paragraph (after any thanks parenthetical)</expanded>
<grouped>At end of each bullet point</grouped>
</placement>
</pr_links>
Expand Down
8 changes: 8 additions & 0 deletions docs/update-notes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,14 @@ If you want to live on the edge and try things out before it's released, we have

---

### Version 3.40

* [3.40](/update-notes/v3.40) (Combined)
* [3.40.1](/update-notes/v3.40.1) (2026-01-14)
* [3.40.0](/update-notes/v3.40.0) (2026-01-13)

---

### Version 3.39

* [3.39](/update-notes/v3.39) (Combined)
Expand Down
37 changes: 37 additions & 0 deletions docs/update-notes/v3.40.0.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
description: This release adds settings search, improves the stop button and error display, and fixes tool-calling compatibility issues.
keywords:
- roo code 3.40.0
- new features
- bug fixes
image: /img/v3.40.0/v3.40.0.png
---

# Roo Code 3.40.0 Release Notes (2026-01-13)

This release adds settings search, improves the stop button and error display, and fixes tool-calling compatibility issues.

<img src="/img/v3.40.0/v3.40.0.png" alt="Roo Code v3.40.0 Release" width="600" />

## Settings search

You can now quickly find and jump to the setting you need with a dedicated search inside Roo Code settings. Instead of hunting through sections, you can search by keyword and jump straight to the right setting, with a cleaner results layout that’s easier to scan. ([#10619](https://github.com/RooCodeInc/Roo-Code/pull/10619), [#10633](https://github.com/RooCodeInc/Roo-Code/pull/10633))

## Stop button improvements

Stopping a streaming response is now clearer and more consistent with a standard stop button, with better visibility while editing messages. The stop action stays visible in more situations and replaces the old, oversized cancel UI, so interrupting long responses feels more familiar and less visually disruptive. ([#10639](https://github.com/RooCodeInc/Roo-Code/pull/10639), [#10696](https://github.com/RooCodeInc/Roo-Code/pull/10696))

## Tool-calling compatibility fixes

This release improves compatibility across providers (especially Gemini and OpenAI-compatible backends) by addressing request/response validation edge cases (thanks Idlebrand!). Roo now avoids sending tool-calling parameters that some backends reject and handles cases where tool output is empty, reducing validation failures that could previously break tool-using chats mid-run. ([#10671](https://github.com/RooCodeInc/Roo-Code/pull/10671), [#10672](https://github.com/RooCodeInc/Roo-Code/pull/10672))
Copy link
Contributor

Choose a reason for hiding this comment

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

In v3.40.0 and v3.40 release notes, the only contributor credit is "(thanks Idlebrand!)" for the tool-calling compatibility fixes. Per the updated rules, acknowledgements should include both PR author and issue reporter unless excluded by the exclusion list. For PR #10671 the author is daniel-lxs (excluded) but the issue reporter is Idlebrand (not excluded), so the thanks parenthetical should likely include only Idlebrand and not omit it entirely.

Fix it with Roo Code or mention @roomote and request a fix.


## QOL Improvements

* Errors in chat are easier to interpret, with improved styling/visibility and more complete details when something goes wrong. ([#10692](https://github.com/RooCodeInc/Roo-Code/pull/10692))
* The stop button stays visible and more consistent while editing messages, making it easier to interrupt long responses when needed. ([#10696](https://github.com/RooCodeInc/Roo-Code/pull/10696))
* Roo uses a standard stop button while streaming, making task cancellation more familiar and less visually disruptive. ([#10639](https://github.com/RooCodeInc/Roo-Code/pull/10639))

## Bug Fixes

* Fixes an issue where some LiteLLM routes could fail during native tool use because an unsupported tool-calling parameter was always being sent. ([#10671](https://github.com/RooCodeInc/Roo-Code/pull/10671))
* Fixes an issue where Gemini-based providers could reject tool results when the tool output was empty, causing request validation errors mid-run. ([#10672](https://github.com/RooCodeInc/Roo-Code/pull/10672))
14 changes: 14 additions & 0 deletions docs/update-notes/v3.40.1.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
description: This release fixes a mode-switching error when using Gemini.
keywords:
- roo code 3.40.1
- bug fixes
---

# Roo Code 3.40.1 Release Notes (2026-01-14)

This release fixes a mode-switching error when using Gemini.

## Bug Fixes

* Fixes an issue where switching modes (e.g., from Code to Architect) while using Gemini would cause API errors due to tool permission conflicts in the conversation history. ([#10708](https://github.com/RooCodeInc/Roo-Code/pull/10708))
38 changes: 38 additions & 0 deletions docs/update-notes/v3.40.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
description: This release adds settings search, improves the stop button and error display, fixes tool-calling compatibility issues, and resolves a mode-switching error with Gemini.
keywords:
- roo code 3.40
- new features
- bug fixes
image: /img/v3.40.0/v3.40.0.png
---

# Roo Code 3.40 Release Notes (2026-01-14)

This release adds settings search, improves the stop button and error display, fixes tool-calling compatibility issues, and resolves a mode-switching error with Gemini.

<img src="/img/v3.40.0/v3.40.0.png" alt="Roo Code v3.40 Release" width="600" />

## Settings search

You can now quickly find and jump to the setting you need with a dedicated search inside Roo Code settings. Instead of hunting through sections, you can search by keyword and jump straight to the right setting, with a cleaner results layout that’s easier to scan. ([#10619](https://github.com/RooCodeInc/Roo-Code/pull/10619), [#10633](https://github.com/RooCodeInc/Roo-Code/pull/10633))

## Stop button improvements

Stopping a streaming response is now clearer and more consistent with a standard stop button, with better visibility while editing messages. The stop action stays visible in more situations and replaces the old, oversized cancel UI, so interrupting long responses feels more familiar and less visually disruptive. ([#10639](https://github.com/RooCodeInc/Roo-Code/pull/10639), [#10696](https://github.com/RooCodeInc/Roo-Code/pull/10696))

## Tool-calling compatibility fixes

This release improves compatibility across providers (especially Gemini and OpenAI-compatible backends) by addressing request/response validation edge cases (thanks Idlebrand!). Roo now avoids sending tool-calling parameters that some backends reject and handles cases where tool output is empty, reducing validation failures that could previously break tool-using chats mid-run. ([#10671](https://github.com/RooCodeInc/Roo-Code/pull/10671), [#10672](https://github.com/RooCodeInc/Roo-Code/pull/10672))

## QOL Improvements

* Errors in chat are easier to interpret, with improved styling/visibility and more complete details when something goes wrong. ([#10692](https://github.com/RooCodeInc/Roo-Code/pull/10692))
* The stop button stays visible and more consistent while editing messages, making it easier to interrupt long responses when needed. ([#10696](https://github.com/RooCodeInc/Roo-Code/pull/10696))
* Roo uses a standard stop button while streaming, making task cancellation more familiar and less visually disruptive. ([#10639](https://github.com/RooCodeInc/Roo-Code/pull/10639))

## Bug Fixes

* Fixes an issue where switching modes (e.g., from Code to Architect) while using Gemini would cause API errors due to tool permission conflicts in the conversation history. ([#10708](https://github.com/RooCodeInc/Roo-Code/pull/10708))
* Fixes an issue where some LiteLLM routes could fail during native tool use because an unsupported tool-calling parameter was always being sent. ([#10671](https://github.com/RooCodeInc/Roo-Code/pull/10671))
* Fixes an issue where Gemini-based providers could reject tool results when the tool output was empty, causing request validation errors mid-run. ([#10672](https://github.com/RooCodeInc/Roo-Code/pull/10672))
9 changes: 9 additions & 0 deletions sidebars.ts
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,15 @@ const sidebars: SidebarsConfig = {
label: 'Extension Release Notes',
items: [
'update-notes/index',
{
type: 'category',
label: '3.40',
items: [
{ type: 'doc', id: 'update-notes/v3.40', label: '3.40 Combined' },
{ type: 'doc', id: 'update-notes/v3.40.1', label: '3.40.1' },
{ type: 'doc', id: 'update-notes/v3.40.0', label: '3.40.0' },
],
},
{
type: 'category',
label: '3.39',
Expand Down
Binary file added static/img/v3.40.0/v3.40.0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.