Skip to content

Commit 6ff4147

Browse files
feat: add release notes for version 3.23.15 and update documentation (#257)
1 parent 0053b27 commit 6ff4147

File tree

8 files changed

+315
-20
lines changed

8 files changed

+315
-20
lines changed

.roo/rules-release-notes-writer/1_workflow.xml

Lines changed: 107 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
[ ] Update index.md
3131
[ ] Update sidebars.ts
3232
[ ] Update combined release notes (if patch release)
33+
[ ] Ask if user wants to create a PR
3334
[ ] Generate Discord format (if requested)
3435
</todos>
3536
</update_todo_list>
@@ -54,7 +55,7 @@
5455
<steps>
5556
<step number="1">
5657
<action>Check for user-provided PR list</action>
57-
<details>If user gives a list of PR numbers, skip to 'process_each_pr' phase.</details>
58+
<details>If user gives a list of PR numbers, skip to 'process_each_pr' phase. When skipping, use the current date or explicitly ask the user for the release date.</details>
5859
</step>
5960
<step number="2">
6061
<action>Fetch release dates</action>
@@ -73,6 +74,27 @@
7374
</step>
7475
</steps>
7576
</phase>
77+
<phase name="determine_release_date" optional="true">
78+
<description>Determine the release date when user provides PR list directly.</description>
79+
<when_to_use>Only when user provides a PR list instead of using GitHub date range search.</when_to_use>
80+
<steps>
81+
<step number="1">
82+
<action>Check if user provided a date</action>
83+
<details>
84+
Look for date in user's message (e.g., "3.23.15" followed by a date like "2025-07-18").
85+
If no date provided, use current date.
86+
</details>
87+
</step>
88+
<step number="2">
89+
<action>Validate date format</action>
90+
<details>
91+
Ensure date is in YYYY-MM-DD format (ISO 8601).
92+
Common mistake: Confusing MM-DD with DD-MM.
93+
Example: 2025-07-18 is July 18, not January 18.
94+
</details>
95+
</step>
96+
</steps>
97+
</phase>
7698
<phase name="process_each_pr">
7799
<description>Process PRs with subtasks. Each subtask investigates one PR, storing findings in a temp file.</description>
78100
<initialization>
@@ -213,6 +235,81 @@
213235
</step>
214236
</steps>
215237
</phase>
238+
<phase name="review_and_refine">
239+
<description>Iterative review process allowing users to refine release notes before creating a PR.</description>
240+
<loop_structure>
241+
<description>This phase loops until the user chooses to create a PR.</description>
242+
</loop_structure>
243+
<steps>
244+
<step number="1">
245+
<action>Ask if user wants to make changes</action>
246+
<tool>ask_followup_question</tool>
247+
<details>
248+
Ask if the user wants to make any changes to the generated release notes before creating a PR.
249+
This question will be repeated after each change until the user is satisfied.
250+
</details>
251+
<example><![CDATA[
252+
<ask_followup_question>
253+
<question>The release notes for version X.Y.Z have been created and all documentation files have been updated. Would you like to make any changes to the release notes before creating a PR?</question>
254+
<follow_up>
255+
<suggest>No, create a PR with the title "Release notes for vX.Y.Z"</suggest>
256+
<suggest>Yes, I'd like to make some changes to the release notes</suggest>
257+
<suggest>Show me the current release notes file</suggest>
258+
<suggest>Show me all changed files</suggest>
259+
</follow_up>
260+
</ask_followup_question>
261+
]]></example>
262+
</step>
263+
<step number="2">
264+
<action>Process user response</action>
265+
<details>
266+
Handle the user's response:
267+
- If response contains "no, create a pr" (case-insensitive): Proceed to PR creation
268+
- If "show me the current release notes": Display the vX.Y.Z.mdx file content
269+
- If "show me all changed files": List all modified files
270+
- Any other response: Treat as requested changes to implement
271+
</details>
272+
<decision_logic>
273+
<condition>Response contains "no, create a pr"</condition>
274+
<action>Exit loop and proceed to PR creation</action>
275+
<condition>Any other response</condition>
276+
<action>Implement requested changes and loop back to step 1</action>
277+
</decision_logic>
278+
</step>
279+
<step number="3">
280+
<action>Implement requested changes</action>
281+
<details>
282+
If user provides specific changes:
283+
1. Parse the user's request
284+
2. Apply the changes to the appropriate files
285+
3. Confirm changes were made
286+
4. Loop back to step 1 to ask again
287+
</details>
288+
<todo_update>Update "Ask if user wants to create a PR" to reflect ongoing review</todo_update>
289+
</step>
290+
<step number="4">
291+
<action>Create PR when ready</action>
292+
<details>
293+
When user selects "No, create a PR":
294+
1. Create PR using gh pr create with title "Release notes for vX.Y.Z"
295+
2. Include a standard PR description
296+
3. Mark the todo item as complete
297+
</details>
298+
<example><![CDATA[
299+
<execute_command>
300+
<command>gh pr create --repo RooCodeInc/Roo-Code --title "Release notes for vX.Y.Z" --body "This PR adds release notes for version X.Y.Z.
301+
302+
## Changes
303+
- Created release notes file
304+
- Updated index.md
305+
- Updated sidebars.ts
306+
- Updated combined release notes (if applicable)"</command>
307+
</execute_command>
308+
]]></example>
309+
<todo_update>Mark "Ask if user wants to create a PR" as complete</todo_update>
310+
</step>
311+
</steps>
312+
</phase>
216313
<phase name="discord_formatting" optional="true">
217314
<description>Generate Discord-formatted release notes via a subtask.</description>
218315
<when_to_use>When user asks for Discord formatting.</when_to_use>
@@ -250,11 +347,13 @@
250347
</main_workflow>
251348

252349
<completion_criteria>
253-
<criterion>Release notes file created with correct formatting.</criterion>
254-
<criterion>All PRs analyzed and described by user benefit.</criterion>
255-
<criterion>Index and sidebar files updated.</criterion>
256-
<criterion>Combined release notes updated for patch releases.</criterion>
257-
<criterion>Links and references are correct.</criterion>
258-
<criterion>Final release notes include only items from the version's changelog.</criterion>
259-
</completion_criteria>
350+
<criterion>Release notes file created with correct formatting.</criterion>
351+
<criterion>All PRs analyzed and described by user benefit.</criterion>
352+
<criterion>Index and sidebar files updated.</criterion>
353+
<criterion>Combined release notes updated for patch releases.</criterion>
354+
<criterion>Links and references are correct.</criterion>
355+
<criterion>Final release notes include only items from the version's changelog.</criterion>
356+
<criterion>User has reviewed release notes and confirmed readiness for PR creation.</criterion>
357+
<criterion>PR has been created (or user explicitly declined PR creation).</criterion>
358+
</completion_criteria>
260359
</workflow_instructions>

.roo/rules-release-notes-writer/2_formatting_standards.xml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,16 @@ image: /img/social-share.jpg
3838
<format># Roo Code X.Y.Z Release Notes (YYYY-MM-DD)</format>
3939
<requirements>
4040
<requirement>Include version number.</requirement>
41-
<requirement>Include release date (ISO format).</requirement>
42-
<requirement>Date must be the actual release date.</requirement>
41+
<requirement>Include release date in ISO 8601 format: YYYY-MM-DD.</requirement>
42+
<requirement>Date must be the actual release date from GitHub tag OR current date if PR list provided.</requirement>
43+
<requirement>CRITICAL: Month comes before day (MM-DD not DD-MM). Example: 2025-07-18 is July 18th.</requirement>
4344
</requirements>
45+
<date_format_examples>
46+
<correct>2025-07-18 (July 18, 2025)</correct>
47+
<correct>2025-01-13 (January 13, 2025)</correct>
48+
<incorrect>2025-18-07 (Invalid - would mean 18th month)</incorrect>
49+
<incorrect>2025-13-01 (Invalid - would mean 13th month)</incorrect>
50+
</date_format_examples>
4451
</element>
4552

4653
<element name="summary_sentence">
@@ -135,7 +142,8 @@ Concluding sentence about the benefit.
135142
<rule>List chronologically, newest first.</rule>
136143
<rule>Use absolute paths from /docs/.</rule>
137144
<rule>Omit .md extension.</rule>
138-
<rule>Include release date.</rule>
145+
<rule>Include release date in ISO 8601 format (YYYY-MM-DD).</rule>
146+
<rule>CRITICAL: Verify date format - month before day.</rule>
139147
</rules>
140148
</index_file_updates>
141149

.roo/rules-release-notes-writer/5_complete_example.xml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,51 @@
11
<complete_example>
2+
<date_validation_example>
3+
<scenario>
4+
Validating and formatting dates correctly when creating release notes
5+
</scenario>
6+
7+
<common_mistakes>
8+
<mistake>
9+
<wrong>2025-18-07</wrong>
10+
<issue>This would mean the 18th month, which doesn't exist</issue>
11+
<correct>2025-07-18</correct>
12+
<explanation>ISO 8601 format is YYYY-MM-DD where MM is month (01-12)</explanation>
13+
</mistake>
14+
<mistake>
15+
<wrong>Using January (01) when it should be July (07)</wrong>
16+
<issue>Confusing month and day positions in ISO 8601 format</issue>
17+
<correct>Always use YYYY-MM-DD format where MM is month (01-12)</correct>
18+
</mistake>
19+
</common_mistakes>
20+
21+
<validation_steps>
22+
<step>When given PR list directly, use current date</step>
23+
<step>Format: new Date().toISOString().split('T')[0]</step>
24+
<step>Always verify month is 01-12</step>
25+
<step>Always verify day is appropriate for the month</step>
26+
<step>Remember: ISO 8601 format is YYYY-MM-DD (year-month-day)</step>
27+
</validation_steps>
28+
29+
<example_dates>
30+
<correct>
31+
<date>2025-07-18</date>
32+
<meaning>July 18, 2025</meaning>
33+
</correct>
34+
<correct>
35+
<date>2025-01-13</date>
36+
<meaning>January 13, 2025</meaning>
37+
</correct>
38+
<incorrect>
39+
<date>2025-18-07</date>
40+
<reason>Month cannot be 18</reason>
41+
</incorrect>
42+
<incorrect>
43+
<date>2025-13-01</date>
44+
<reason>Month cannot be 13</reason>
45+
</incorrect>
46+
</example_dates>
47+
</date_validation_example>
48+
249
<scenario>
350
Creating release notes for Roo Code v3.20.3.
451
</scenario>

docs/update-notes/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ This section contains notes about recent updates to Roo Code, listed by version
1919

2020
## Version 3.23
2121

22+
* [3.23.15](/update-notes/v3.23.15) (2025-07-18)
2223
* [3.23.14](/update-notes/v3.23.14) (2025-07-17)
2324
* [3.23.13](/update-notes/v3.23.13) (2025-07-17)
2425
* [3.23.12](/update-notes/v3.23.12) (2025-01-13)
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
# PR Analysis for Release Notes v3.23.15
2+
3+
## PR #5934: chore: add changeset for v3.23.15 patch release
4+
5+
**Author**: mrubens
6+
**Linked Issues**: None
7+
**Category**: Release Changeset (Multiple Changes)
8+
**User Impact**: This PR documents multiple improvements and fixes included in v3.23.15:
9+
- Fixed diagnostic error reporting timing issues
10+
- Added command timeout configuration options
11+
- Enhanced custom modes with better documentation fields
12+
- Fixed Claude model detection for proper API usage
13+
- Improved UI with better marketplace access and YouTube links
14+
- Added safety option to prevent task completion with unfinished todos
15+
**Contributors**: mrubens
16+
17+
---
18+
19+
## PR #5716: Prevent completion with open todos
20+
21+
**Author**: mrubens
22+
**Linked Issues**: None
23+
**Category**: QOL Improvement
24+
**User Impact**: Adds a new setting to prevent accidentally completing tasks when todo items are still open, helping users ensure all work is finished before marking a task complete.
25+
**Contributors**: mrubens
26+
27+
---
28+
29+
## PR #5929: Added YouTube to website footer
30+
31+
**Author**: thill2323
32+
**Linked Issues**: None
33+
**Category**: QOL Improvement
34+
**User Impact**: Users can now easily find and access Roo Code's YouTube channel directly from the website footer, making it simpler to discover video tutorials and other video content.
35+
**Contributors**: thill2323
36+
37+
---
38+
39+
## PR #5910: Add command timeout allowlist with IPC support
40+
41+
**Author**: app/roomote
42+
**Linked Issues**: None
43+
**Category**: Feature
44+
**User Impact**: Users can now exclude specific commands from timeout restrictions by configuring command prefixes in the allowlist. This is particularly useful for long-running commands like builds, deployments, or data processing tasks that need to run without interruption.
45+
**Contributors**: app/roomote
46+
47+
---
48+
49+
## PR #5863: feat: add configurable delay for Go diagnostics to prevent premature error reporting
50+
51+
**Author**: app/roomote
52+
**Linked Issues**: #5859 (reporter: mmhobi7)
53+
**Category**: QOL Improvement
54+
**User Impact**: Go developers will no longer see false error messages about unused imports that are automatically cleaned up by the linter. This prevents unnecessary token usage and AI confusion. Users can now configure diagnostic delay timing (default 2 seconds) to match their language's linter speed, or disable diagnostics entirely if preferred.
55+
**Contributors**: mmhobi7
56+
57+
---
58+
59+
## PR #5864: feat: move marketplace icon from overflow menu to top navigation
60+
61+
**Author**: app/roomote
62+
**Linked Issues**: None
63+
**Category**: QOL Improvement
64+
**User Impact**: The marketplace is now directly accessible from the top navigation bar, eliminating the need to click through the overflow menu. This improves discoverability and reduces the number of clicks needed to access marketplace features.
65+
**Contributors**: app/roomote
66+
67+
---
68+
69+
## PR #5913: feat: Add Issue Investigator mode and enhance Issue Writer mode
70+
71+
**Author**: hannesrudolph
72+
**Linked Issues**: None
73+
**Category**: Feature
74+
**User Impact**: Introduces a new Issue Investigator mode for analyzing GitHub issues and finding root causes, plus enhances the Issue Writer mode with improved technical analysis capabilities. Users can now investigate issues more thoroughly before implementation and create better-structured issue documentation.
75+
**Contributors**: hannesrudolph
76+
77+
---
78+
79+
## PR #5862: feat: Add description and whenToUse fields to custom modes in .roomodes
80+
81+
**Author**: RandalSchwartz
82+
**Linked Issues**: #5860 (reporter: RandalSchwartz)
83+
**Category**: QOL Improvement
84+
**User Impact**: Custom modes now display helpful descriptions and usage guidance, making it easier to understand when and how to use each mode
85+
**Contributors**: RandalSchwartz
86+
87+
---
88+
89+
## PR #5840: fix: detect Claude models by name for API protocol selection
90+
91+
**Author**: daniel-lxs
92+
**Linked Issues**: #5830 (reporter: TheFynx)
93+
**Category**: Bug Fix
94+
**User Impact**: Fixed an issue where Claude models used through alternative providers (like Google Vertex AI) would encounter context length errors. Now Claude models are properly detected regardless of the provider, ensuring correct API protocol handling.
95+
**Contributors**: daniel-lxs, TheFynx
96+
97+
---
98+
99+
## PR #5839: Fix/issue fixer pr template
100+
101+
**Author**: MuriloFP
102+
**Linked Issues**: None
103+
**Category**: QOL Improvement
104+
**User Impact**: The issue-fixer mode now automatically uses the official Roo Code PR template when creating pull requests, ensuring consistency and making it easier for contributors to provide all required information.
105+
**Contributors**: MuriloFP
106+
107+
---

docs/update-notes/v3.23.15.mdx

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
description: This release improves diagnostics handling, UI accessibility, and includes various quality of life improvements and bug fixes.
3+
keywords:
4+
- roo code 3.23.15
5+
- diagnostics
6+
- ui improvements
7+
- bug fixes
8+
image: /img/social-share.jpg
9+
---
10+
11+
# Roo Code 3.23.15 Release Notes (2025-07-18)
12+
13+
This release improves diagnostics handling, UI accessibility, and includes various quality of life improvements and bug fixes.
14+
15+
## QOL Improvements
16+
17+
* **Task Safety**: New setting prevents accidentally completing tasks with unfinished todo items ([#5716](https://github.com/RooCodeInc/Roo-Code/pull/5716))
18+
* **Go Diagnostics**: Configurable delay prevents false error reports about unused imports (thanks mmhobi7!) ([#5863](https://github.com/RooCodeInc/Roo-Code/pull/5863))
19+
* **Marketplace Access**: Marketplace icon moved to top navigation for easier access ([#5864](https://github.com/RooCodeInc/Roo-Code/pull/5864))
20+
* **Custom Modes**: Added helpful descriptions and usage guidance to custom modes (thanks RandalSchwartz!) ([#5862](https://github.com/RooCodeInc/Roo-Code/pull/5862))
21+
* **YouTube Footer**: Quick access to Roo Code's YouTube channel from the website (thanks thill2323!) ([#5929](https://github.com/RooCodeInc/Roo-Code/pull/5929))
22+
* **PR Templates**: Issue-fixer mode now uses the official Roo Code PR template (thanks MuriloFP!) ([#5839](https://github.com/RooCodeInc/Roo-Code/pull/5839))
23+
24+
## Bug Fixes
25+
26+
* **Claude Model Detection**: Fixed context length errors when using Claude models through alternative providers like Google Vertex AI (thanks daniel-lxs, TheFynx!) ([#5840](https://github.com/RooCodeInc/Roo-Code/pull/5840))
27+
28+
## Misc Improvements
29+
30+
* **Command Timeout Configuration**: Added command timeout allowlist for long-running commands ([#5910](https://github.com/RooCodeInc/Roo-Code/pull/5910))
31+
* **Internal Modes**: Added Issue Investigator mode and enhanced Issue Writer mode for internal GitHub workflows ([#5913](https://github.com/RooCodeInc/Roo-Code/pull/5913))

0 commit comments

Comments
 (0)