Skip to content

Commit d3f9131

Browse files
feat: add release notes for versions 3.23.13 and 3.23.14, and update … (#254)
1 parent bf5d4b3 commit d3f9131

File tree

12 files changed

+477
-40
lines changed

12 files changed

+477
-40
lines changed

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

Lines changed: 58 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,38 @@
1313
</step>
1414

1515
<step number="2">
16+
<action>Initialize todo list for tracking progress</action>
17+
<tool>update_todo_list</tool>
18+
<details>
19+
Create a comprehensive todo list to track all phases of release notes creation.
20+
</details>
21+
<example><![CDATA[
22+
<update_todo_list>
23+
<todos>
24+
[ ] Determine version range and previous version
25+
[ ] Fetch release dates from GitHub
26+
[ ] Search for merged PRs in date range
27+
[ ] Process each PR (create subtasks)
28+
[ ] Compile and organize PR findings
29+
[ ] Create release notes file
30+
[ ] Update index.md
31+
[ ] Update sidebars.ts
32+
[ ] Update combined release notes (if patch release)
33+
[ ] Generate Discord format (if requested)
34+
</todos>
35+
</update_todo_list>
36+
]]></example>
37+
</step>
38+
39+
<step number="3">
1640
<action>Determine version range</action>
1741
<tools>
1842
<tool>list_files - Find previous version in docs/update-notes</tool>
1943
</tools>
2044
<details>
2145
List files in docs/update-notes to find the last version file and set the range for fetching changes.
2246
</details>
47+
<todo_update>Mark "Determine version range and previous version" as complete</todo_update>
2348
</step>
2449
</initialization_steps>
2550

@@ -35,6 +60,7 @@
3560
<action>Fetch release dates</action>
3661
<tool>gh api (get tag)</tool>
3762
<details>Get commit dates for new and previous version tags to set a date range using gh CLI.</details>
63+
<todo_update>Mark "Fetch release dates from GitHub" as complete</todo_update>
3864
</step>
3965
<step number="3">
4066
<action>Search for merged PRs within date range</action>
@@ -43,6 +69,7 @@
4369
Use release date range to search for merged PRs.
4470
Query: `--state merged --search "merged:YYYY-MM-DD..YYYY-MM-DD"`
4571
</details>
72+
<todo_update>Mark "Search for merged PRs in date range" as complete</todo_update>
4673
</step>
4774
</steps>
4875
</phase>
@@ -58,6 +85,12 @@
5885
</content>
5986
<details>Create an empty temp file that subtasks will append to.</details>
6087
</step>
88+
<step>
89+
<action>Update todo list with PR processing status</action>
90+
<tool>update_todo_list</tool>
91+
<details>Update the main todo to show PR processing is in progress</details>
92+
<todo_update>Mark "Process each PR (create subtasks)" as in progress [-]</todo_update>
93+
</step>
6194
</initialization>
6295
<subtask_workflow>
6396
<overview>
@@ -104,6 +137,10 @@
104137
After each subtask writes its findings, move to the next PR.
105138
</completion_per_pr>
106139
</subtask_workflow>
140+
<phase_completion>
141+
<action>Update todo after all PRs processed</action>
142+
<todo_update>Mark "Process each PR (create subtasks)" as complete [x]</todo_update>
143+
</phase_completion>
107144
</phase>
108145
<phase name="compile_final_release_notes">
109146
<description>Read temporary analysis file and compile findings into the final release notes.</description>
@@ -119,6 +156,7 @@
119156
<details>
120157
Group PRs by category (Bug Fixes, QOL Improvements, etc.) based on the analysis.
121158
</details>
159+
<todo_update>Mark "Compile and organize PR findings" as complete</todo_update>
122160
</step>
123161
<step number="3">
124162
<action>Format for release notes</action>
@@ -140,26 +178,38 @@
140178
<step number="1">
141179
<action>Create release notes file</action>
142180
<details>
143-
Create docs/update-notes/vX.Y.Z.mdx with correct title, date, and sections.
144-
</details>
181+
Create docs/update-notes/vX.Y.Z.mdx with correct title, date, and sections.
182+
</details>
183+
<todo_update>Mark "Create release notes file" as complete</todo_update>
145184
</step>
146185
<step number="2">
147186
<action>Update index.md</action>
148187
<details>
149-
Add new release entry to the list.
150-
</details>
188+
Add new release entry to the list.
189+
</details>
190+
<todo_update>Mark "Update index.md" as complete</todo_update>
151191
</step>
152192
<step number="3">
153193
<action>Update sidebars.ts</action>
154194
<details>
155-
Add new release to the "Update Notes" sidebar.
156-
</details>
195+
Add new release to the "Update Notes" sidebar.
196+
</details>
197+
<todo_update>Mark "Update sidebars.ts" as complete</todo_update>
157198
</step>
158199
<step number="4">
159200
<action>Update combined release notes</action>
160201
<details>
161-
For patch releases, update the parent minor/major release file (e.g., update v3.20.mdx for v3.20.3).
162-
</details>
202+
For patch releases, intelligently integrate changes into the parent minor/major release file.
203+
Follow the detailed workflow in 9_combined_notes_integration.xml to:
204+
- Read and parse the existing combined notes structure
205+
- Categorize new changes by section
206+
- Strip PR links and numbers
207+
- Merge items into appropriate existing sections
208+
- Maintain chronological order within sections
209+
- Handle edge cases like duplicate fixes
210+
Example: For v3.20.3, update v3.20.mdx by merging changes into existing sections.
211+
</details>
212+
<todo_update>Mark "Update combined release notes (if patch release)" as complete</todo_update>
163213
</step>
164214
</steps>
165215
</phase>

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

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,12 +135,22 @@ Concluding sentence about the benefit.
135135
</sidebar_updates>
136136

137137
<combined_notes_updates>
138-
<description>When creating patch releases, update the parent minor/major file.</description>
138+
<description>When creating patch releases, intelligently integrate changes into the parent minor/major file.</description>
139139
<rules>
140-
<rule>Add changes to relevant sections.</rule>
141-
<rule>Do not include patch version numbers.</rule>
142-
<rule>Maintain consistent formatting.</rule>
140+
<rule>Add changes to their corresponding existing sections (Bug Fixes to Bug Fixes, etc.)</rule>
141+
<rule>Do not include patch version numbers or PR links in combined notes</rule>
142+
<rule>Maintain consistent formatting and section order</rule>
143+
<rule>Append new items to the end of their respective sections</rule>
144+
<rule>Consolidate duplicate fixes across patches</rule>
145+
<rule>Update summary sentence if significant features were added</rule>
143146
</rules>
147+
<integration_approach>
148+
<step>Read and parse existing combined notes structure</step>
149+
<step>Map new changes to appropriate sections</step>
150+
<step>Strip PR references from new items</step>
151+
<step>Use apply_diff to insert items at the end of each section</step>
152+
<step>See 9_combined_notes_integration.xml for detailed workflow</step>
153+
</integration_approach>
144154
</combined_notes_updates>
145155

146156
<content_guidelines>

.roo/rules-release-notes-writer/3_pr_analysis_patterns.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,11 +106,11 @@ This lets you work with larger projects without managing context.
106106
<contributor_identification>
107107
<pr_author>
108108
<description>Always include PR author.</description>
109-
<source>user.login from github.get_pull_request</source>
109+
<source>author.login from gh pr view JSON output</source>
110110
</pr_author>
111111
<issue_reporter>
112112
<description>Include issue reporter if PR references an issue. Always check for a linked issue, even if not explicitly mentioned in the description.</description>
113-
<source>user.login from github.get_issue for linked issues</source>
113+
<source>author.login from gh issue view JSON output for linked issues</source>
114114
<patterns>
115115
<pattern>Fixes #123</pattern>
116116
<pattern>Closes #456</pattern>

.roo/rules-release-notes-writer/4_tool_usage.xml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,52 @@ Convert docs/update-notes/vX.Y.Z.mdx.
171171
</tool>
172172
</subtask_tools>
173173

174+
<workflow_tools>
175+
<tool name="update_todo_list">
176+
<purpose>Track overall progress through the release notes creation workflow.</purpose>
177+
<when_to_use>At the start of the main workflow and after completing each major phase.</when_to_use>
178+
<usage><![CDATA[
179+
<!-- Initial todo list for main workflow -->
180+
<update_todo_list>
181+
<todos>
182+
[ ] Determine version range and previous version
183+
[ ] Fetch release dates from GitHub
184+
[ ] Search for merged PRs in date range
185+
[ ] Process each PR (create subtasks)
186+
[ ] Compile and organize PR findings
187+
[ ] Create release notes file
188+
[ ] Update index.md
189+
[ ] Update sidebars.ts
190+
[ ] Update combined release notes (if patch release)
191+
[ ] Generate Discord format (if requested)
192+
</todos>
193+
</update_todo_list>
194+
195+
<!-- After completing a phase -->
196+
<update_todo_list>
197+
<todos>
198+
[x] Determine version range and previous version
199+
[x] Fetch release dates from GitHub
200+
[x] Search for merged PRs in date range
201+
[-] Process each PR (create subtasks)
202+
[ ] Compile and organize PR findings
203+
[ ] Create release notes file
204+
[ ] Update index.md
205+
[ ] Update sidebars.ts
206+
[ ] Update combined release notes (if patch release)
207+
[ ] Generate Discord format (if requested)
208+
</todos>
209+
</update_todo_list>
210+
]]></usage>
211+
<best_practices>
212+
<practice>Create comprehensive todo list at workflow start</practice>
213+
<practice>Update after each major phase completion</practice>
214+
<practice>Use [-] to indicate work in progress</practice>
215+
<practice>Include conditional items (e.g., "if patch release")</practice>
216+
</best_practices>
217+
</tool>
218+
</workflow_tools>
219+
174220
<file_tools>
175221
<tool name="list_files">
176222
<purpose>Find previous version files.</purpose>

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

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,25 @@
2222
<step number="2">
2323
<description>Get release dates for version tags.</description>
2424
<tool_use><![CDATA[
25-
<use_mcp_tool>
26-
<server_name>github</server_name>
27-
<tool_name>get_tag</tool_name>
28-
<arguments>{ "owner": "RooCodeInc", "repo": "Roo-Code", "tag": "v3.20.3" }</arguments>
29-
</use_mcp_tool>
25+
<execute_command>
26+
<command>gh api repos/RooCodeInc/Roo-Code/git/refs/tags/v3.20.3 --jq '.object.sha' | xargs -I {} gh api repos/RooCodeInc/Roo-Code/git/commits/{} --jq '.committer.date'</command>
27+
</execute_command>
3028
]]></tool_use>
31-
<result>v3.20.3: 2025-01-13, v3.20.2: 2025-01-10.</result>
29+
<result>v3.20.3: 2025-01-13</result>
30+
<tool_use><![CDATA[
31+
<execute_command>
32+
<command>gh api repos/RooCodeInc/Roo-Code/git/refs/tags/v3.20.2 --jq '.object.sha' | xargs -I {} gh api repos/RooCodeInc/Roo-Code/git/commits/{} --jq '.committer.date'</command>
33+
</execute_command>
34+
]]></tool_use>
35+
<result>v3.20.2: 2025-01-10</result>
3236
</step>
3337

3438
<step number="3">
3539
<description>Search for merged PRs and extract numbers.</description>
3640
<tool_use><![CDATA[
37-
<use_mcp_tool>
38-
<server_name>github</server_name>
39-
<tool_name>search_issues</tool_name>
40-
<arguments>{ "owner": "RooCodeInc", "repo": "Roo-Code", "q": "is:pr is:merged repo:RooCodeInc/Roo-Code merged:2025-01-10..2025-01-13" }</arguments>
41-
</use_mcp_tool>
41+
<execute_command>
42+
<command>gh pr list --repo RooCodeInc/Roo-Code --state merged --search "merged:2025-01-10..2025-01-13" --json number,title,author,mergedAt --limit 1000</command>
43+
</execute_command>
4244
]]></tool_use>
4345
<extracted_prs>
4446
- PR #1234: "Fix context condensing"
@@ -55,11 +57,11 @@
5557
<message>Investigate PR #1234 for release notes v3.20.3.
5658
5759
Task:
58-
1. Get PR details (github.get_pull_request).
59-
2. Extract linked issues from description.
60-
3. Get issue details (github.get_issue).
61-
4. Analyze and categorize change.
62-
5. Write findings to temp_pr_analysis.md. Use insert_content with line 0.
60+
1. Get PR details with gh pr view
61+
2. Extract linked issues from PR description (e.g., "Fixes #123")
62+
3. Get details for linked issues with gh issue view
63+
4. Analyze and categorize the change (bug fix, feature, etc.)
64+
5. Append findings to temp_pr_analysis.md in the specified format. Use insert_content with line 0 to append to the end of the file.
6365
6466
Use update_todo_list to track your progress through these steps.
6567
</message>
@@ -72,7 +74,7 @@ Use update_todo_list to track your progress through these steps.
7274
<tool_use><![CDATA[
7375
<update_todo_list>
7476
<todos>
75-
[ ] Fetch PR details with github.get_pull_request
77+
[ ] Fetch PR details with gh pr view
7678
[ ] Extract linked issues from PR description
7779
[ ] Get details for each linked issue
7880
[ ] Analyze and categorize the change
@@ -86,7 +88,7 @@ Use update_todo_list to track your progress through these steps.
8688
<tool_use><![CDATA[
8789
<update_todo_list>
8890
<todos>
89-
[x] Fetch PR details with github.get_pull_request
91+
[x] Fetch PR details with gh pr view
9092
[x] Extract linked issues from PR description
9193
[-] Get details for each linked issue
9294
[ ] Analyze and categorize the change
@@ -100,7 +102,7 @@ Use update_todo_list to track your progress through these steps.
100102
<tool_use><![CDATA[
101103
<update_todo_list>
102104
<todos>
103-
[x] Fetch PR details with github.get_pull_request
105+
[x] Fetch PR details with gh pr view
104106
[x] Extract linked issues from PR description
105107
[x] Get details for each linked issue
106108
[x] Analyze and categorize the change

.roo/rules-release-notes-writer/6_mode_summary.xml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,7 @@
5959
</permission>
6060
<permission>
6161
<group>command</group>
62-
<description>Command execution for workflow automation.</description>
63-
</permission>
64-
<permission>
65-
<group>mcp</group>
66-
<description>Access to GitHub MCP tools.</description>
62+
<description>Command execution for workflow automation and GitHub CLI.</description>
6763
</permission>
6864
</file_permissions>
6965

0 commit comments

Comments
 (0)