Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1512 commits
Select commit Hold shift + click to select a range
3a2ad6b
feat(telemetry): add PostHog exception tracking for consecutive mista…
daniel-lxs Dec 18, 2025
7789b40
Release v3.36.13 (#10194)
cte Dec 18, 2025
b37b231
Changeset version bump (#10195)
github-actions[bot] Dec 18, 2025
e2d1599
feat: improve 'no tools used' error handling with grace retry (#10196)
hannesrudolph Dec 18, 2025
9c03476
feat(vertex): add native tool calling for Claude models on Vertex AI …
hannesrudolph Dec 19, 2025
c3a4d14
fix: strip unsupported JSON Schema format values for OpenAI compatibi…
daniel-lxs Dec 19, 2025
4b9d9b7
Release v3.36.14 (#10200)
cte Dec 19, 2025
3c05cae
Changeset version bump (#10201)
github-actions[bot] Dec 19, 2025
b67b1e8
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 19, 2025
bc50606
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 19, 2025
a475cd3
feat(telemetry): add telemetry event handling through webview messages
mini2s Dec 19, 2025
2dec78c
fix: refresh models button not flushing cache properly (#9870)
pdecat Dec 19, 2025
3f1f8be
feat(vertex): add 1M context window beta support for Claude Sonnet 4 …
hannesrudolph Dec 19, 2025
61903f9
feat(providers): add native tool calling support to LM Studio and Qwe…
hannesrudolph Dec 19, 2025
6e2b852
ux: improve API error handling and visibility (#10204)
brunobergher Dec 19, 2025
ae41af6
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 19, 2025
bb358fb
ux: add downloadable error diagnostics from chat errors (#10188)
brunobergher Dec 19, 2025
397328c
feat: merge native tool defaults for openai-compatible provider (#10213)
hannesrudolph Dec 19, 2025
aabee0f
fix: force additionalProperties false for strict mode compatibility (…
daniel-lxs Dec 19, 2025
bade932
fix: enable native tool calls for Requesty provider (ROO-235) (#10211)
daniel-lxs Dec 19, 2025
ccbb25d
Release v3.36.15 (#10218)
cte Dec 19, 2025
f7adc4b
Changeset version bump (#10219)
github-actions[bot] Dec 19, 2025
5c798a9
fix: normalize tool schemas for VS Code LM API to fix error 400 (#10221)
hannesrudolph Dec 20, 2025
d2814da
Release v3.36.16 (#10224)
mrubens Dec 20, 2025
78dc344
Changeset version bump (#10225)
github-actions[bot] Dec 20, 2025
6cf7be6
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 20, 2025
37765c8
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 20, 2025
f3ca7c4
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 21, 2025
5ae4d4d
Custom tool calling (#10083)
cte Dec 21, 2025
3beeac6
Remove the "test" custom tools (#10255)
cte Dec 21, 2025
2bb3755
Add custom tool definitions to @roo-code/types (#10233)
cte Dec 21, 2025
fb9245f
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 22, 2025
6b755ed
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 22, 2025
f23e9ac
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 22, 2025
08eed65
fix(evals): add missing packages/core to Dockerfile.runner (#10272)
hannesrudolph Dec 22, 2025
a148b0b
feat: add Cloud Team page with comprehensive team features (#10267)
roomote-v0[bot] Dec 22, 2025
e3cd031
feat: remove parallel_tool_calls parameter from litellm provider (#10…
roomote-v0[bot] Dec 22, 2025
c800c67
feat(build): add types package bundling and alias support
mini2s Dec 22, 2025
149e78e
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 22, 2025
a7d258b
update(settings): change default tool protocol to XML
mini2s Dec 22, 2025
529e0d7
fix: enable Requesty refresh models with credentials (#10273)
daniel-lxs Dec 22, 2025
6b141fb
fix: disable strict mode for MCP tools to preserve optional parameter…
daniel-lxs Dec 22, 2025
7fae76e
fix: move array-specific properties into anyOf variant in normalizeTo…
daniel-lxs Dec 22, 2025
24d988d
refactor(custom-tools): improve tool loading and instance consistency
mini2s Dec 22, 2025
a144a37
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 22, 2025
f462eeb
fix(chutes): add graceful fallback for model parsing (#10279)
hannesrudolph Dec 22, 2025
9b06a98
fix: emit tool_call_end events in OpenAI handler when streaming ends …
daniel-lxs Dec 22, 2025
0d3e81d
feat(core): add support for custom tool parsing in AssistantMessagePa…
mini2s Dec 23, 2025
2c5a4c8
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 23, 2025
d00d9ed
feat: deprecate XML tool protocol selection, force native for new tas…
daniel-lxs Dec 23, 2025
b37b387
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 23, 2025
518a440
feat(zai): add GLM-4.7 model with thinking mode support (#10282)
hannesrudolph Dec 23, 2025
44a7ba5
fix: improve reasoning_details accumulation and serialization (#10285)
hannesrudolph Dec 23, 2025
bd78a63
feat(evals): add message log deduper utility (#10286)
hannesrudolph Dec 23, 2025
e7c1851
feat(minimax): move environment_details to system message for thinkin…
hannesrudolph Dec 23, 2025
f21ec12
fix: add CRLF line ending normalization to search_replace and search_…
hannesrudolph Dec 23, 2025
eeaf33c
refactor(zai): merge environment_details into tool result instead of …
hannesrudolph Dec 23, 2025
edee332
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 23, 2025
2997566
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 23, 2025
061ae14
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 23, 2025
a8ac2ce
fix: emit tool_call_end events in BaseOpenAiCompatibleProvider (#10293)
hannesrudolph Dec 23, 2025
89e9261
fix: preserve reasoning_content in condense summary for DeepSeek-reas…
hannesrudolph Dec 23, 2025
dd44f8f
Release v3.37.0 (#10295)
mrubens Dec 23, 2025
30090de
Changeset version bump (#10296)
github-actions[bot] Dec 23, 2025
a7c1d24
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 23, 2025
71f312b
feat: enable mergeToolResultText for Roo Code Cloud provider (#10301)
hannesrudolph Dec 23, 2025
ddc0c01
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 23, 2025
044d502
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 23, 2025
0f3df0e
feat: add grace retry for empty assistant messages (#10297)
hannesrudolph Dec 23, 2025
40812dc
Release: v1.95.0 (#10309)
jr Dec 23, 2025
9b99890
feat(prompts): strengthen native tool-use guidance (#10311)
hannesrudolph Dec 23, 2025
ded6486
feat: enable mergeToolResultText for all OpenAI-compatible providers …
hannesrudolph Dec 23, 2025
53e1ff0
fix: preserve reasoning_details shape to prevent malformed responses …
hannesrudolph Dec 23, 2025
dfa7c35
fix(task): drain queued messages while waiting for ask (#10315)
hannesrudolph Dec 23, 2025
6afc59b
fix(openai): send native tool definitions by default (#10314)
hannesrudolph Dec 23, 2025
57cafa5
ux: Provider-centric signup (#10306)
brunobergher Dec 23, 2025
5c7939b
chore: add changeset for v3.37.1 (#10316)
mrubens Dec 23, 2025
1e71015
Changeset version bump (#10317)
github-actions[bot] Dec 23, 2025
efe97f7
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 24, 2025
d29555b
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 24, 2025
ae7d014
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 24, 2025
6d8be95
refactor: simplify tool protocol resolution logic
mini2s Dec 24, 2025
62a4ebf
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 25, 2025
02996f8
refactor: optimize stream rendering and file reading limits
mini2s Dec 25, 2025
ab0aff3
refactor(tools): simplify extractTextFromFile parameters
mini2s Dec 25, 2025
4a8f2bc
feat(chat): add tool protocol display to task header
mini2s Dec 25, 2025
e83f568
fix(test): respect user toolProtocol preference over model capabilities
mini2s Dec 25, 2025
66ef6d8
update(provider): update zgsm model handling and native tool protocol…
mini2s Dec 25, 2025
355f27b
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 25, 2025
446b7db
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 25, 2025
a07d28c
feat: remove OpenRouter Transforms feature (#10341)
roomote-v0[bot] Dec 25, 2025
a510223
feat: remove simpleReadFileTool completely (#10254)
roomote-v0[bot] Dec 25, 2025
8bce6cb
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 26, 2025
343d5e9
Add support for skills (#10335)
mrubens Dec 26, 2025
da4cf6d
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 26, 2025
c081410
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 26, 2025
6f16528
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 26, 2025
0d50ed6
Add support for npm packages and .env files to custom tools (#10336)
cte Dec 26, 2025
2eebf3c
fix: capture extended thinking signatures for tool use continuations …
daniel-lxs Dec 26, 2025
13370a2
feat: add optional mode field to slash command front matter (#10344)
roomote-v0[bot] Dec 27, 2025
72c142b
refactor(core,webview): improve code review types and performance
mini2s Dec 27, 2025
41637d2
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 27, 2025
510af82
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 27, 2025
c61dd7a
Remove the mergeToolResultText in the Roo provider for now (#10359)
mrubens Dec 27, 2025
25f76ce
Revert "fix: capture extended thinking signatures for tool use contin…
mrubens Dec 27, 2025
5c5ddd3
Release v3.38.0 (#10361)
mrubens Dec 27, 2025
ba1dd3c
Changeset version bump (#10362)
github-actions[bot] Dec 27, 2025
7980cd3
fix: enforce maxConcurrentFileReads limit in read_file tool (#10363)
roomote-v0[bot] Dec 27, 2025
c46532a
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 28, 2025
8cf3acc
refactor(zgsm): optimize native protocol handling and model ID usage
mini2s Dec 28, 2025
add06a2
docs: clarify path to Security Settings in privacy policy (#10367)
roomote-v0[bot] Dec 28, 2025
a18c9b7
Improve error message when read_file is used on directory (#10371)
roomote-v0[bot] Dec 29, 2025
1011064
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 29, 2025
b90e6cf
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 29, 2025
6948ed7
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 29, 2025
a42387e
Handle custom tool use similarly to MCP tools for ipc schema purposes…
jr Dec 29, 2025
e851b93
fix: correct GitHub repository URL in marketing page (#10377)
roomote-v0[bot] Dec 29, 2025
6ba7931
Revert "feat: enable mergeToolResultText for all OpenAI-compatible pr…
hannesrudolph Dec 29, 2025
ca8fd5c
fix: flush pending tool results before condensing context (#10379)
daniel-lxs Dec 29, 2025
958705a
chore: add changeset for v3.38.1 (#10384)
mrubens Dec 29, 2025
c193f59
Changeset version bump (#10385)
github-actions[bot] Dec 29, 2025
19b7dac
fix: update Cerebras maxTokens to 16384 (#10387)
sebastiand-cerebras Dec 30, 2025
0e9a765
docs: Replace Todo Lists video with Context Management video (#10375)
SannidhyaSah Dec 30, 2025
6d8fa39
Release: v1.96.0 (#10395)
jr Dec 30, 2025
9539553
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 30, 2025
f2abc39
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 30, 2025
d33cdef
fix(utils): add optional chaining for provider settings
mini2s Dec 30, 2025
ed13921
feat(skills): align with Agent Skills spec (#10409)
hannesrudolph Dec 30, 2025
c37aa02
chore: remove human-relay provider (#10388)
hannesrudolph Dec 30, 2025
ca1bc18
Fix rate limit wait display (#10389)
hannesrudolph Dec 31, 2025
ca41119
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 31, 2025
dea33f9
fix: prevent write_to_file from creating files at truncated paths (#1…
mrubens Dec 31, 2025
1179662
Release v3.38.2 (#10416)
mrubens Dec 31, 2025
2068531
Changeset version bump (#10417)
github-actions[bot] Dec 31, 2025
3074ccc
fix(claude-code): stop frequent sign-ins by hardening OAuth refresh (…
hannesrudolph Jan 1, 2026
586cf47
fix: add type check for lastMessage.text in TTS useEffect (#10431)
roomote-v0[bot] Jan 1, 2026
f05dada
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 2, 2026
277ec1b
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 2, 2026
787a257
feat(chat): add collapsible markdown blocks and improve protocol erro…
mini2s Jan 2, 2026
d24a1d6
refactor(task): restructure conversation history handling
mini2s Jan 3, 2026
08c3431
feat: recursively load .roo/rules and AGENTS.md from subdirectories (…
mrubens Jan 3, 2026
1459f01
Release: v1.99.0 (#10447)
mrubens Jan 3, 2026
c307dc7
fix: add maxConcurrentFileReads limit to native read_file tool schema…
roomote-v0[bot] Jan 4, 2026
b4302c7
chore: add changeset for v3.38.3 (#10450)
mrubens Jan 4, 2026
d23824d
Changeset version bump (#10451)
github-actions[bot] Jan 4, 2026
b6053fa
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Jan 4, 2026
bf764aa
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 4, 2026
cbc0ae4
feat: add image support documentation to read_file native tool descri…
roomote-v0[bot] Jan 5, 2026
0bb551d
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Jan 5, 2026
6d55b6a
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 5, 2026
f2276be
fix: add explicit deduplication for duplicate tool_result blocks (#10…
roomote-v0[bot] Jan 5, 2026
30dd454
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 5, 2026
b11d53a
VSCode shim + basic cli (#10452)
cte Jan 5, 2026
0397470
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Jan 5, 2026
424bce6
Add an option to use our cli for evals (#10456)
cte Jan 5, 2026
3fb1c70
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 5, 2026
3fdb575
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 6, 2026
6f09481
fix: preserve tool_use blocks for all tool_results in kept messages d…
daniel-lxs Jan 6, 2026
6b13d1d
fix: add additionalProperties: false to MCP tool schemas for OpenAI R…
daniel-lxs Jan 6, 2026
361a8ba
feat(cli): add zgsm provider support
mini2s Jan 6, 2026
2269c55
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 6, 2026
861139c
Add a cli installer (#10474)
cte Jan 6, 2026
6440048
feat(zgsm): add debug mode and fix tool name handling
mini2s Jan 6, 2026
cd06643
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 6, 2026
d42e293
feat(i18n): add debug status to custom config label
mini2s Jan 6, 2026
4f423d1
refactor: improve terminal encoding handling and UI styling
mini2s Jan 6, 2026
c4c050c
feat(ui): add automatically focus option for chat input
mini2s Jan 6, 2026
503f402
feat(proxy): add debug-mode proxy routing (#10467)
hannesrudolph Jan 6, 2026
b504ab2
feat(terminal): enhance compilation markers and output handling
mini2s Jan 6, 2026
62eac59
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 6, 2026
741b268
fix: prevent duplicate tool_result blocks causing API errors (#10497)
daniel-lxs Jan 6, 2026
f51c987
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 7, 2026
781ed1e
feat: add Kimi K2 thinking model to Fireworks AI provider (#9202)
roomote-v0[bot] Jan 7, 2026
7f2978a
fix: add missing description fields for debugProxy configuration (#10…
roomote-v0[bot] Jan 7, 2026
d55c6d4
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Jan 7, 2026
8493410
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 7, 2026
2d22804
Tweak the style of the follow up suggestion modes (#9260)
mrubens Jan 7, 2026
d0991af
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 7, 2026
41c5ff6
feat(web-evals): remember last Roo model selection + add evals skill …
hannesrudolph Jan 7, 2026
7bbdcdf
feat: rename YOLO to BRRR (#10507)
roomote-v0[bot] Jan 7, 2026
4d99e1d
refactor: migrate ZGSM env vars to COSTRICT
mini2s Jan 7, 2026
962f905
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Jan 7, 2026
9700eab
feat: implement sticky provider profile for task-level API config per…
hannesrudolph Jan 7, 2026
494bbd6
feat(settings): move CHAT_SEARCH from experimental to UI settings
mini2s Jan 7, 2026
e287a82
fix: remove legacy Claude 2 series models from Bedrock provider (#10501)
roomote-v0[bot] Jan 7, 2026
43f7ce0
feat: add support for image file @mentions (#10189)
hannesrudolph Jan 7, 2026
b5301f2
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 7, 2026
d7d3f40
fix: handle PowerShell ENOENT error in os-name on Windows (#9897)
roomote-v0[bot] Jan 7, 2026
e3b90fb
feat: add xhigh reasoning effort to OpenAI compatible endpoints (#10061)
roomote-v0[bot] Jan 7, 2026
7552581
feat: filter @ mention file search results using .rooignore (#10174)
roomote-v0[bot] Jan 7, 2026
ca0c901
fix: use task stored API config as fallback for rate limit (#10266)
roomote-v0[bot] Jan 8, 2026
1573edf
fix: make command chaining examples shell-aware for Windows compatibi…
roomote-v0[bot] Jan 8, 2026
0cf883a
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 8, 2026
6f8db42
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 8, 2026
710e7dd
feat(types): add zai-glm-4.7 to Cerebras models (#10500)
sebastiand-cerebras Jan 8, 2026
06a990d
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 8, 2026
b2941d5
πŸ› Fix glitchy kangaroo bounce animation on welcome screen (#10035)
objectiveSee Jan 8, 2026
290605e
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 8, 2026
f84bead
Release v3.39.0 (#10537)
mrubens Jan 8, 2026
2ea72f3
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 8, 2026
3222c40
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Jan 8, 2026
a10b450
feat: Change "Get Started" button label to "Create Roo Account" (#10543)
roomote-v0[bot] Jan 8, 2026
9ddbc9b
fix: add @roo-code/cli to changeset ignore list (#10545)
mrubens Jan 8, 2026
2cd4c2e
Changeset version bump (#10546)
github-actions[bot] Jan 8, 2026
a34dcf9
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Jan 8, 2026
93bccfe
Update changelog for version 3.39.0 release
mrubens Jan 8, 2026
4881333
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 8, 2026
1d9f7f2
fix: change minItems from 2 to 1 for Anthropic API compatibility (#10…
daniel-lxs Jan 8, 2026
e3c0cd6
fix: disable Gemini thought signature persistence to prevent corrupte…
daniel-lxs Jan 8, 2026
ef4b950
fix: stabilize file paths during native tool call streaming (#10555)
daniel-lxs Jan 8, 2026
58b0441
Release v3.39.1 (#10557)
mrubens Jan 8, 2026
eb7d8f4
Changeset version bump (#10558)
github-actions[bot] Jan 8, 2026
caa3779
chore(cli): change default model to anthropic/claude-opus-4.5 (#10544)
mrubens Jan 8, 2026
9ac4499
fix: ensure assistant message content is never undefined for Gemini c…
daniel-lxs Jan 9, 2026
3c14252
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 9, 2026
2ff08b5
Update Terms of Service (effective January 9, 2026) (#10568)
mrubens Jan 9, 2026
debecc6
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Jan 9, 2026
c37f4e6
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 9, 2026
ade10e2
fix(vscode-lm): order text parts before tool calls in assistant messa…
daniel-lxs Jan 9, 2026
7b771a2
fix: merge approval feedback into tool result instead of pushing dupl…
daniel-lxs Jan 9, 2026
b7bd859
feat: improve error messaging for stream termination errors from prov…
daniel-lxs Jan 9, 2026
4697b08
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Jan 9, 2026
ad08efa
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 9, 2026
907b94b
fix(openai): remove convertToSimpleMessages to fix tool calling for O…
daniel-lxs Jan 9, 2026
19b7264
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Jan 9, 2026
b51ae78
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 9, 2026
3171ffc
Move more types to @roo-code/types (for the cli) (#10583)
cte Jan 9, 2026
a4eb15b
Add some functionality to @roo-code/core for the cli (#10584)
cte Jan 9, 2026
237fa89
Add some slash commands that are useful for cli development (#10586)
cte Jan 9, 2026
108f78d
feat: add debug setting to settings page (#10580)
hannesrudolph Jan 9, 2026
168cfca
fix: round-trip Gemini thought signatures for tool calls (#10590)
hannesrudolph Jan 10, 2026
e39abbf
fix: make edit_file matching more resilient (#10585)
hannesrudolph Jan 10, 2026
8478944
chore(gemini): stop overriding tool allow/deny lists (#10592)
hannesrudolph Jan 10, 2026
d97e540
fix(cerebras): ensure all tools have consistent strict mode values (#…
roomote-v0[bot] Jan 10, 2026
5a82c33
chore: disable edit_file tool for Gemini/Vertex (#10594)
hannesrudolph Jan 10, 2026
658da2c
Release v3.39.2 (#10595)
mrubens Jan 10, 2026
1e62b5d
Changeset version bump (#10596)
github-actions[bot] Jan 10, 2026
ea9717d
Add a TUI (#10480)
cte Jan 10, 2026
e8ed344
Allow the cli release script to install locally for testing (#10597)
cte Jan 10, 2026
640b78e
feat(ipc): add retry mechanism and error handling
mini2s Jan 10, 2026
fc21101
More file organization for the cli (#10599)
cte Jan 10, 2026
4a71dbb
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 10, 2026
5672fdf
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 10, 2026
87856e1
refactor: rename roo-cli to cos-cli and update related references
mini2s Jan 10, 2026
a33117a
Some cleanup in ExtensionHost (#10600)
cte Jan 10, 2026
602f4f7
refactor: optimize response rendering and tool call handling
mini2s Jan 10, 2026
75d8958
Rename Roo Code Cloud Provider to Roo Code Router (#10560)
roomote-v0[bot] Jan 10, 2026
f99d116
chore: bump version to v1.102.0 (#10604)
mrubens Jan 10, 2026
fa7b041
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 10, 2026
fc1fc34
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Jan 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,7 @@ openspec

# Architect plans
plans/

roo-cli-*.tar.gz*
zgsm-cli-*.tar.gz*
cos-cli-*.tar.gz*
77 changes: 77 additions & 0 deletions .roo/commands/cli-release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
---
description: "Create a new release of the Roo Code CLI"
argument-hint: "[version-description]"
mode: code
---

1. Identify changes since the last CLI release:
- Get the last CLI release tag: `gh release list --limit 10 | grep "cli-v"`
- View changes since last release: `git log cli-v<last-version>..HEAD -- apps/cli --oneline`
- Or for uncommitted changes: `git diff --stat -- apps/cli`

2. Review and summarize the changes to determine an appropriate changelog entry. Group changes by type:
- **Added**: New features
- **Changed**: Changes to existing functionality
- **Fixed**: Bug fixes
- **Removed**: Removed features
- **Tests**: New or updated tests

3. Bump the version in `apps/cli/package.json`:
- Increment the patch version (e.g., 0.0.43 β†’ 0.0.44) for bug fixes and minor changes
- Increment the minor version (e.g., 0.0.43 β†’ 0.1.0) for new features
- Increment the major version (e.g., 0.0.43 β†’ 1.0.0) for breaking changes

4. Update `apps/cli/CHANGELOG.md` with a new entry:
- Add a new section at the top (below the header) following this format:

```markdown
## [X.Y.Z] - YYYY-MM-DD

### Added

- Description of new features

### Changed

- Description of changes

### Fixed

- Description of bug fixes
```

- Use the current date in YYYY-MM-DD format
- Include links to relevant source files where helpful
- Describe changes from the user's perspective

5. Commit the version bump and changelog update:

```bash
git add apps/cli/package.json apps/cli/CHANGELOG.md
git commit -m "chore(cli): prepare release v<version>"
```

6. Run the release script from the monorepo root:

```bash
./apps/cli/scripts/release.sh
```

The release script will automatically:
- Build the extension and CLI
- Create a platform-specific tarball
- Verify the installation works correctly (runs --help, --version, and e2e test)
- Extract changelog content and include it in the GitHub release notes
- Create the GitHub release with the tarball attached

7. After a successful release, verify:
- Check the release page: https://github.com/RooCodeInc/Roo-Code/releases
- Verify the "What's New" section contains the changelog content
- Test installation: `curl -fsSL https://raw.githubusercontent.com/RooCodeInc/Roo-Code/main/apps/cli/install.sh | sh`

**Notes:**

- The release script requires GitHub CLI (`gh`) to be installed and authenticated
- If a release already exists for the tag, the script will prompt to delete and recreate it
- The script creates a tarball for the current platform only (darwin-arm64, darwin-x64, linux-arm64, or linux-x64)
- Multi-platform releases require running the script on each platform and manually uploading additional tarballs
76 changes: 76 additions & 0 deletions .roo/commands/commit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
description: "Commit and push changes with a descriptive message"
argument-hint: "[optional-context]"
mode: code
---

1. Analyze the current changes to understand what needs to be committed:

```bash
# Check for staged and unstaged changes
git status --short

# View the diff of all changes (staged and unstaged)
git diff HEAD
```

2. Based on the diff output, formulate a commit message following conventional commit format:
- **feat**: New feature or functionality
- **fix**: Bug fix
- **refactor**: Code restructuring without behavior change
- **docs**: Documentation changes
- **test**: Adding or updating tests
- **chore**: Maintenance tasks, dependencies, configs
- **style**: Formatting, whitespace, no logic changes

Format: `type(scope): brief description`

Examples:
- `feat(api): add user authentication endpoint`
- `fix(ui): resolve button alignment on mobile`
- `refactor(core): simplify error handling logic`
- `docs(readme): update installation instructions`

3. Stage all unstaged changes:

```bash
git add -A
```

4. Commit with the generated message:

```bash
git commit -m "type(scope): brief description"
```

**If pre-commit hooks fail:**
- Review the error output (linter errors, type checking errors, etc.)
- Fix the identified issues in the affected files
- Re-stage the fixes: `git add -A`
- Retry the commit: `git commit -m "type(scope): brief description"`

5. Push to the remote repository:

```bash
git push
```

**If pre-push hooks fail:**
- Review the error output (test failures, linter errors, etc.)
- Fix the identified issues in the affected files
- Stage and commit the fixes using steps 3-4
- Retry the push: `git push`

**Tips for good commit messages:**

- Keep the first line under 72 characters
- Use imperative mood ("add", "fix", "update", not "added", "fixes", "updated")
- Be specific but concise
- If multiple unrelated changes exist, consider splitting into separate commits

**Common hook failures and fixes:**

- **Linter errors**: Run the project's linter (e.g., `npm run lint` or `pnpm lint`) to see all issues, then fix them
- **Type checking errors**: Run type checker (e.g., `npx tsc --noEmit`) to identify type issues
- **Test failures**: Run tests (e.g., `npm test` or `pnpm test`) to identify failing tests and fix them
- **Format issues**: Run formatter (e.g., `npm run format` or `pnpm format`) to auto-fix formatting
66 changes: 66 additions & 0 deletions .roo/rules-debug/cli.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# CLI Debugging with File-Based Logging

When debugging the CLI, `console.log` will break the TUI (Terminal User Interface). Use file-based logging to capture debug output without interfering with the application's display.

## File-Based Logging Strategy

1. **Write logs to a temporary file instead of console**:
- Create a log file at a known location, e.g., `/tmp/cos-cli-debug.log`
- Use `fs.appendFileSync()` to write timestamped log entries
- Example logging utility:

```typescript
import fs from "fs"
const DEBUG_LOG = "/tmp/cos-cli-debug.log"

function debugLog(message: string, data?: unknown) {
const timestamp = new Date().toISOString()
const entry = data
? `[${timestamp}] ${message}: ${JSON.stringify(data, null, 2)}\n`
: `[${timestamp}] ${message}\n`
fs.appendFileSync(DEBUG_LOG, entry)
}
```

2. **Clear the log file before each debugging session**:
- Run `echo "" > /tmp/cos-cli-debug.log` or use `fs.writeFileSync(DEBUG_LOG, "")` at app startup during debugging

## Iterative Debugging Workflow

Follow this feedback loop to systematically narrow down issues:

1. **Add targeted logging** at suspected problem areas based on your hypotheses
2. **Instruct the user** to reproduce the issue using the CLI normally
3. **Read the log file** after the user completes testing:
- Run `cat /tmp/cos-cli-debug.log` to retrieve the captured output
4. **Analyze the log output** to gather clues about:
- Execution flow and timing
- Variable values at key points
- Which code paths were taken
- Error conditions or unexpected states
5. **Refine your logging** based on findingsβ€”add more detail where needed, remove noise
6. **Ask the user to test again** with updated logging
7. **Repeat** until the root cause is identified

## Best Practices

- Log entry/exit points of functions under investigation
- Include relevant variable values and state information
- Use descriptive prefixes to categorize logs: `[STATE]`, `[EVENT]`, `[ERROR]`, `[FLOW]`
- Log both the "happy path" and error handling branches
- When dealing with async operations, log before and after `await` statements
- For user interactions, log the received input and the resulting action

## Example Debug Session

```typescript
// Add logging to investigate a picker selection issue
debugLog("[FLOW] PickerSelect onSelect called", { selectedIndex, item })
debugLog("[STATE] Current selection state", { currentValue, isOpen })

// After async operation
const result = await fetchOptions()
debugLog("[FLOW] fetchOptions completed", { resultCount: result.length })
```

Then ask: "Please reproduce the issue by [specific steps]. When you're done, let me know and I'll analyze the debug logs."
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ It supports users in conducting code checks on functions, selected code lines, c
- **MCP Service:** Seamlessly integrates with theΒ MCP open ecosystemΒ to enable standardized system connectivity. You can Integrate external APIs、Connect to databases、Develop custom tools through MCP services.
- **APIs & Model Customization:** Officially provided are multiple free advanced models; it also supports using third-party API providers such as Anthropic, OpenAI, etc.; you can also configure any API compatible with OpenAl; or use local models through I M Studio/Ollama
- **Mode Customization:** We provide various default modes to adapt to different scenarios, such as the Code mode with outstanding coding capabilities and the Orchestrator mode skilled in complex task decomposition. You can also customize mode according to your needs.
- **Context:** Shenma will automatically incorporate all repository data of large files into the context, and for code completion scenarios, it will also dynamically perceive the context based on the cursor position. You can also add files/folders, terminals, issues, etc. using the @ key to provide more precise context information for the input.
- **Context:** CoStrict will automatically incorporate all repository data of large files into the context, and for code completion scenarios, it will also dynamically perceive the context based on the cursor position. You can also add files/folders, terminals, issues, etc. using the @ key to provide more precise context information for the input.
- **Image:** You can click the image icon below the dialog box to upload an image, or you can hold down the Shift key to drag and drop the image into the input box.
- **Multi-language Support:** Supports mainstream programming languages: Python, Go, Java, JavaScript, TypeScript, C/C++ and all other programming languages
- **Privacy & Security:** To ensure data security and provide better service at a lower cost, we offer a professional and comprehensive private deployment solution, ensuring code security through physical isolation and end-to-end encryption.
Expand Down
110 changes: 110 additions & 0 deletions apps/cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# Changelog

All notable changes to the `@roo-code/cli` package will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.0.45] - 2026-01-08

### Changed

- **Major Refactor**: Extracted ~1400 lines from [`App.tsx`](src/ui/App.tsx) into reusable hooks and utilities for better maintainability:
- [`useExtensionHost`](src/ui/hooks/useExtensionHost.ts) - Extension host connection and lifecycle management
- [`useMessageHandlers`](src/ui/hooks/useMessageHandlers.ts) - Message processing and state updates
- [`useTaskSubmit`](src/ui/hooks/useTaskSubmit.ts) - Task submission logic
- [`useGlobalInput`](src/ui/hooks/useGlobalInput.ts) - Global keyboard shortcut handling
- [`useFollowupCountdown`](src/ui/hooks/useFollowupCountdown.ts) - Auto-approval countdown logic
- [`useFocusManagement`](src/ui/hooks/useFocusManagement.ts) - Input focus state management
- [`usePickerHandlers`](src/ui/hooks/usePickerHandlers.ts) - Picker component event handling
- [`uiStateStore`](src/ui/stores/uiStateStore.ts) - UI-specific state (showExitHint, countdown, etc.)
- Tool data utilities ([`extractToolData`](src/ui/utils/toolDataUtils.ts), `formatToolOutput`, etc.)
- [`HorizontalLine`](src/ui/components/HorizontalLine.tsx) component

- **Performance Optimizations**:
- Added RAF-style scroll throttling to reduce state updates
- Stabilized `useExtensionHost` hook return values with `useCallback`/`useMemo`
- Added streaming message debouncing to batch rapid partial updates
- Added shallow array equality checks to prevent unnecessary re-renders

- Simplified [`ModeTool`](src/ui/components/tools/ModeTool.tsx) layout to horizontal with mode suffix
- Simplified logging by removing verbose debug output and adding first/last partial message logging pattern
- Updated Nerd Font icon codepoints in [`Icon`](src/ui/components/Icon.tsx) component

### Added

- `#` shortcut in help trigger for quick access to task history autocomplete

### Fixed

- Fixed a crash in message handling
- Added protected file warning in tool approval prompts
- Enabled `alwaysAllowWriteProtected` for non-interactive mode

### Removed

- Removed unused `renderLogger.ts` utility file

### Tests

- Updated extension-host tests to expect `[Tool Request]` format
- Updated Icon tests to expect single-char Nerd Font icons

## [0.0.44] - 2026-01-08

### Added

- **Tool Renderer Components**: Specialized renderers for displaying tool outputs with optimized formatting for each tool type. Each renderer provides a focused view of its data structure.
- [`FileReadTool`](src/ui/components/tools/FileReadTool.tsx) - Display file read operations with syntax highlighting
- [`FileWriteTool`](src/ui/components/tools/FileWriteTool.tsx) - Show file write/edit operations with diff views
- [`SearchTool`](src/ui/components/tools/SearchTool.tsx) - Render search results with context
- [`CommandTool`](src/ui/components/tools/CommandTool.tsx) - Display command execution with output
- [`BrowserTool`](src/ui/components/tools/BrowserTool.tsx) - Show browser automation actions
- [`ModeTool`](src/ui/components/tools/ModeTool.tsx) - Display mode switching operations
- [`CompletionTool`](src/ui/components/tools/CompletionTool.tsx) - Show task completion status
- [`GenericTool`](src/ui/components/tools/GenericTool.tsx) - Fallback renderer for other tools

- **History Trigger**: New `#` trigger for task history autocomplete with fuzzy search support. Type `#` at the start of a line to browse and resume previous tasks.
- [`HistoryTrigger.tsx`](src/ui/components/autocomplete/triggers/HistoryTrigger.tsx) - Trigger implementation with fuzzy filtering
- Shows task status, mode, and relative timestamps
- Supports keyboard navigation for quick task selection

- **Release Confirmation Prompt**: The release script now prompts for confirmation before creating a release.

### Fixed

- Task history picker selection and navigation issues
- Mode switcher keyboard handling bug

### Changed

- Reorganized test files into `__tests__` directories for better project structure
- Refactored utility modules into dedicated `utils/` directory

## [0.0.43] - 2026-01-07

### Added

- **Toast Notification System**: New toast notifications for user feedback with support for info, success, warning, and error types. Toasts auto-dismiss after a configurable duration and are managed via Zustand store.
- New [`ToastDisplay`](src/ui/components/ToastDisplay.tsx) component for rendering toast messages
- New [`useToast`](src/ui/hooks/useToast.ts) hook for managing toast state and displaying notifications

- **Global Input Sequences Registry**: Centralized system for handling keyboard shortcuts at the application level, preventing conflicts with input components.
- New [`globalInputSequences.ts`](src/ui/utils/globalInputSequences.ts) utility module
- Support for Kitty keyboard protocol (CSI u encoding) for better terminal compatibility
- Built-in sequences for `Ctrl+C` (exit) and `Ctrl+M` (mode cycling)

- **Local Tarball Installation**: The install script now supports installing from a local tarball via the `ROO_LOCAL_TARBALL` environment variable, useful for offline installation or testing pre-release builds.

### Changed

- **MultilineTextInput**: Updated to respect global input sequences, preventing the component from consuming shortcuts meant for application-level handling.

### Tests

- Added comprehensive tests for the toast notification system
- Added tests for global input sequence matching

## [0.0.42] - 2025-01-07

The cli is alive!
Loading