Co-authored-by: Roo Code <roomote@roocode.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
5.6 KiB
Changelog
All notable changes to the @roo-code/cli package will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.0.45] - 2026-01-08
Changed
-
Major Refactor: Extracted ~1400 lines from
App.tsxinto reusable hooks and utilities for better maintainability:useExtensionHost- Extension host connection and lifecycle managementuseMessageHandlers- Message processing and state updatesuseTaskSubmit- Task submission logicuseGlobalInput- Global keyboard shortcut handlinguseFollowupCountdown- Auto-approval countdown logicuseFocusManagement- Input focus state managementusePickerHandlers- Picker component event handlinguiStateStore- UI-specific state (showExitHint, countdown, etc.)- Tool data utilities (
extractToolData,formatToolOutput, etc.) HorizontalLinecomponent
-
Performance Optimizations:
- Added RAF-style scroll throttling to reduce state updates
- Stabilized
useExtensionHosthook return values withuseCallback/useMemo - Added streaming message debouncing to batch rapid partial updates
- Added shallow array equality checks to prevent unnecessary re-renders
-
Simplified
ModeToollayout 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
Iconcomponent
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
alwaysAllowWriteProtectedfor non-interactive mode
Removed
- Removed unused
renderLogger.tsutility 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- Display file read operations with syntax highlightingFileWriteTool- Show file write/edit operations with diff viewsSearchTool- Render search results with contextCommandTool- Display command execution with outputBrowserTool- Show browser automation actionsModeTool- Display mode switching operationsCompletionTool- Show task completion statusGenericTool- 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- 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
ToastDisplaycomponent for rendering toast messages - New
useToasthook for managing toast state and displaying notifications
- New
-
Global Input Sequences Registry: Centralized system for handling keyboard shortcuts at the application level, preventing conflicts with input components.
- New
globalInputSequences.tsutility module - Support for Kitty keyboard protocol (CSI u encoding) for better terminal compatibility
- Built-in sequences for
Ctrl+C(exit) andCtrl+M(mode cycling)
- New
-
Local Tarball Installation: The install script now supports installing from a local tarball via the
ROO_LOCAL_TARBALLenvironment 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!